Você está na página 1de 4

Interfaces

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.

A estrutura da interface é simples, como mostra o exemplo abaixo:

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:

E dentro dela, os métodos desta interface estão sendo definidos:


Uma interface também pode definir propriedades. Neste caso, não é definido um atributo da
propriedade, apenas se ela será get e/ou set. Por exemplo:

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.

Você também pode gostar