O que é interface em C# com exemplo
O que é Interface em C#?
An Interface em C# é usado junto com uma classe para definir um contrato que é um acordo sobre o que a classe fornecerá a um aplicativo. A interface define quais operações uma classe pode realizar. Uma interface declara as propriedades e métodos. Cabe à classe definir exatamente o que o método fará.
Vejamos um exemplo de interface alterando as classes em nosso aplicativo Console. Observe que não executaremos o código porque não há nada que possa ser executado usando uma interface.
Exemplo de interface C#
Vamos criar uma classe de interface. A classe se chamará “Guru99Interface”. Nossa classe principal estenderá então a interface definida. Todo o código precisa ser escrito no arquivo Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { interface IGuru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : IGuru99Interface { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID, string pName) { TutorialID = pID; TutorialName = pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1,".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Explicação do código: -
Aqui, explicamos as seções importantes do código
- Primeiro definimos uma interface chamada “Guru99Interface”. Observe que a palavra-chave “interface” é usada para definir uma interface.
- A seguir, estamos definindo os métodos que serão utilizados pela nossa interface. Neste caso, estamos definindo os mesmos métodos usados em todos os exemplos anteriores. Observe que uma interface apenas declara os métodos. Não define o código neles.
- Em seguida, fazemos com que nossa classe Guru99Tutorial estenda a interface. Aqui é onde escrevemos o código que define os vários métodos declarados na interface. Este tipo de codificação atinge o seguinte
- Garante que a classe Guru99Tutorial adicione apenas o código necessário para os métodos “SetTutorial” e “GetTutorial” e nada mais.
- Também garante que a interface se comporte como um contrato. O classe tem que cumprir o contrato. Portanto, se o contrato diz que deveria ter dois métodos chamados “SetTutorial” e “GetTutorial”, então é assim que deveria ser.
Resumo
- Uma interface define um contrato que a classe cumprirá. A interface define quais são as operações que a classe pode realizar.