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 declares 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

Exemplo de interface C#

  1. Primeiro definimos uma interface chamada “Guru99Interface”. Observe que a palavra-chave “interface” é usada para definir uma interface.
  2. 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 declares os métodos. Não define o código neles.
  3. 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 seguintewing
    • 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.