Ícone do site Eu Faço Programas

Interfaces no C# com exemplos

Uma interface é parecida com uma classe abstrata, a diferença está no fato de que uma classe abstrata pode possuir alguns métodos que não sejam implementados e outros que sejam implementados.

Já a interface conta só com a “casquinha” mesmo, ou seja, possui somente métodos que não estão implementados e que devem ser implementados na classe que usar a interface.

Uma pergunta bastante comum para quem está começando a desenvolver é: “Então tá, qual a utilidade e vantagem disso?”. Mesmo dizendo aqui, a verdade é que você provavelmente só mudará sua opinião com a prática mesmo ????

As interfaces são muito utilizadas para que um projeto tenha bem claro quais são as regras de negócio que devem ser utilizadas. Por exemplo, na minha interface tenho um método “Vender”, que faz parte da realidade do negócio da minha empresa, e deverá ser implementado de acordo com o setor.

Além disso, como o C# não suporta herança múltipla, as interfaces permitem que uma classes estenda múltiplas interfaces, contornando o problema.

Importante: Uma interface no C# não pode conter atributos, somente métodos, propriedades e eventos. Todos os membros de uma interface são públicos e não podem utilizar um modificador de acesso.

A classe que implementar a interface deverá possuir a definição de TODOS os métodos existentes na interface; Esta definição deverá possuir o mesmo nome e a mesma assinatura, retorno e parâmetros que foram definidas na interface, no método da classe.

Exemplos de Interface em C Sharp

Declaração da Interface em C#

public interface IProduto  
{

bool EPerecivel { get; }
Fornecedor RecuperarFornecedor();
void RegistrarVenda(Cliente cliente); 
}

Implementação de Interface em C#

public class Computador : IProduto  
{

private bool ePerecivel; 
public bool EPerecivel 
{ 
get { return ePerecivel; } 
}

public Fornecedor RecuperarFornecedor() 
{
return new Fornecedor(); 
}

public void RegistrarVenda(Cliente cliente)
{ 
// Rotina para registrar vendas 
}
 
}

// Comente!

comentários

Sair da versão mobile