A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Objetos"— Transcrição da apresentação:

1 Programação Orientada a Objetos
Interfaces

2 3.9 Interfaces Uma interface, ao contrário de uma classe abstrata, não possui nenhuma implementação, todos os métodos são abstratos. Mesmo que o programador omita o modificador abstract, os métodos serão considerados abstratos por default. Todos os métodos de uma interface são públicos, mesmo que o modificador public seja omitido. Declarar um método de uma interface como private ou protected gera erro em tempo de compilação. Além disso, como uma interface é apenas uma especificação de uma classe e não uma implementação, os métodos não podem ser final ou static. Alan Santos

3 3.9 Interfaces Todas as variáveis declaradas em uma interface são constantes, mesmo que não possuam os modificadores static final. Além disso, como elas são constantes, elas devem ser inicializadas. Desta maneira, você pode usar uma interface para compartilhar constantes entre várias classes. Essa utilização da interface poderia ser comparada como usar um arquivo de cabeçalho com um grande número de constantes em C. Alan Santos

4 3.9 Interfaces A declaração de uma interface é muito semelhante a uma classe, com a diferença de que as palavras abstract class são substituídas pela palavra interface: interface MinhaInterface { int getSize ( ); void setSize (int param); } Não é possível criar uma instância a partir de uma interface. Primeiramente, a interface precisa ser implementada. Alan Santos

5 3.9 Interfaces Definimos que uma classe implementa uma interface através da palavra implements: class MinhaClasse implements MinhaInterface { int size; public int getSize ( ) { return size; } public void setSize (int tam) { size = tam; Alan Santos

6 3.9 Interfaces Uma classe pode ser subclasse (extends) apenas de uma classe, mas pode implementar (implements) várias interfaces. Na declaração de uma classe que implementa várias interfaces, os nomes das interfaces devem estar separados por vírgula (,). Além disso, uma classe pode derivar uma única superclasse e implementar várias interfaces. class MinhaClasse extends MinhaSuperclasse implements MinhaInterface1, MinhaInterface 2 { Alan Santos

7 3.9.1 Utilizando as Interfaces
As interfaces são bastante usadas na amarração dinâmica de métodos (dynamic binding). Para que o interpretador possa decidir qual classe ele chamará em tempo de execução, todas as classes devem possuir o método para que não seja gerado nenhum erro em tempo de compilação. Na verdade, a nossa classe abstrata Poligono poderia ser uma interface. Alan Santos

8 3.9.1 Utilizando as Interfaces
Temos que tomar o cuidado, porém, para que nenhum método seja definido em uma interface. Para que a classe abstrata Poligono pudesse ser uma interface teríamos que retirar a implementação do método getType () e a variável cor. Além disso, como em Java não existe conceitualmente a herança múltipla, uma classe pode ser subclasse (extends) apenas de uma única classe. Nas situações em que é útil herança múltipla, são usadas interfaces. Alan Santos


Carregar ppt "Programação Orientada a Objetos"

Apresentações semelhantes


Anúncios Google