Índice:
- Definição - O que significa Implementação de Interface?
- Techopedia explica implementação de interface
Definição - O que significa Implementação de Interface?
A implementação da interface, em C #, refere-se à herança de uma interface por uma estrutura ou classe que fornece a funcionalidade para os membros declarados na interface. Os membros da interface implementada podem incluir métodos, propriedades, indexadores e eventos.
Em geral, uma interface representa um contrato que deve ser respeitado por uma classe ou estrutura que implementa todos os membros especificados na interface. Os principais benefícios da implementação da interface incluem flexibilidade, baixo acoplamento, alta coesão e comportamento polimórfico.
No C #, a implementação de interface permite que uma classe seja herdada de várias interfaces, em vez de várias classes, para que mais de um comportamento possa ser herdado por meio de várias interfaces que compartilham apenas assinaturas de métodos. A interface pode ser implementada como propriedade para especificar se a propriedade é de leitura-gravação, somente leitura ou somente gravação. Uma interface pode ser implementada explicitamente para ocultar um membro e substituí-lo por outro. Diferentemente do Java, a implementação explícita da interface do C # permite que várias interfaces com o mesmo nome de método e assinaturas, tenham implementações diferentes sem qualquer conflito de nome e forneçam resultados diferentes com base na conversão atual do objeto.
Techopedia explica implementação de interface
Semelhante a uma classe abstrata, uma interface não fornece uma implementação padrão. Um membro de uma classe ou estrutura que implementa um membro de uma interface deve ser público, não estático e possuir o mesmo nome e assinatura que o da interface.
Por exemplo, uma interface IAccount pode ser implementada por uma classe SavingAccount que implementa os membros da IAccount que podem incluir BalanceAmount, DateOfOpening etc. como suas propriedades e métodos como PrintStatement, CalculateInterest etc.
A implementação da interface pode estar implícita quando uma classe base de uma classe derivada já implementa a interface. Todas as interfaces de base não precisam ser especificadas explicitamente na lista de classes base da classe derivada. Além disso, a classe derivada pode alterar o comportamento da interface que já foi definido na classe base, substituindo os membros virtuais na classe derivada.
A implementação da interface é explícita quando membros de duas ou mais interfaces com o mesmo nome e com a mesma assinatura, mas executando duas funções diferentes, são herdados por uma classe ou estrutura que implementa cada membro explicitamente. Esse membro é nomeado com o nome da interface e um período e só pode ser acessado através de uma instância da interface. Diferentemente dos métodos implícitos, os métodos explícitos não podem ser abstratos ou virtuais.