Escolar Documentos
Profissional Documentos
Cultura Documentos
Uma interface é uma estrutura que fornece apenas as especificações dos métodos e
propriedades. Eles são como os métodos abstratos apresentados no tópico de classes
abstratas. Ou seja, são membros que não fornecem uma implementação padrão.
O comportamento desses membros deve ser implementado pela classe (ou estrutura – struct)
que vier a utilizá-la. A classe que estiver utilizando a interface deve implementar o
comportamento de todos os membros presentes na interface, se apenas um membro foi
esquecido, o compilador acusará erro.
Note que, para definir uma interface, é utilizada a palavra-chave interface, seguida do nome
da interface:
Dentro dela estão definidos seus membros, que no momento são três métodos:
Observe que os métodos não possuem corpo e nem modificador de acesso. Por padrão, todos
os métodos são públicos (public). Caso outro modificar de acesso seja definido, um erro de
compilação será exibido. Mas a classe que for implementar esta interface pode definir, além
da definição dos métodos, outros modificadores de acesso para seus membros.
A implementação desta interface é feita da mesma maneira que uma herança: utiliza-se os
dois pontos a frente do nome da classe para indicar que uma interface está
sendo implementa.
Observe que neste código, primeiro a interface está sendo implementada na classe:
Observe que a interface está definindo uma propriedade somente leitura (possui apenas o
get):
Assim, quando ela for implementada pela classe, esta propriedade deverá ser implementada e
continuar como somente leitura:
Note a propriedade sendo implementada:
Se nela fosse definido o set, o compilador acusaria erro, pois a interface não permite este tipo
de implementação.