Implementação de interface

Definição - o que significa implementação de interface?

Implementação de 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 aderido 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.

Em C #, a implementação de interface permite que uma classe herde de várias interfaces em vez de várias classes, de modo que mais de um comportamento possa ser herdado por meio de várias interfaces que compartilham apenas assinaturas de método. A interface pode ser implementada como propriedade para especificar se a propriedade é de leitura e gravação, somente leitura ou somente gravação. Uma interface pode ser implementada explicitamente para ocultar um membro e substituí-lo por outro. Ao contrário do Java, a implementação de interface explícita do C # permite várias interfaces com o mesmo nome de método e assinaturas, para ter diferentes implementações sem qualquer conflito de nome e fornecer resultados diferentes com base no elenco atual do objeto.

Definirtec explica a implementação da 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 da interface.

Por exemplo, uma interface IAccount pode ser implementada por uma classe, SavingAccount, que implementa os membros de IAccount que podem incluir BalanceAmount, DateOfOpening, etc. como suas propriedades e métodos como PrintStatement, CalculateInterest, etc.

A implementação da interface pode ser implícita quando uma classe base de uma classe derivada já implementa a interface. Todas as interfaces base não precisam ser explicitamente especificadas 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 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 por meio de uma instância da interface. Ao contrário dos métodos implícitos, os métodos explícitos não podem ser abstratos ou virtuais.

Esta definição foi escrita no contexto de C #