Sie sind auf Seite 1von 6

Programação com Objectos

Programação Centrada em Objectos

5. Interfaces

1
5. Interfaces

| Conceito de interface
z As Interfaces JAVA podem ser uma alternativa à construção de classes
em situações a que o mecanismo de herança não consegue dar solução
por se basear na hierarquia directa de classes.

z São especificações sintácticas de conjuntos de métodos, que qualquer


classe, em qualquer ponto da hierarquia, pode querer implementar
(localmente), ou seja, definem requisitos operacionais

z Uma interface estabelece uma espécie de contrato que é obedecido por


uma classe. Quando uma classe implementa uma interface, garante-se
que todas as funcionalidades especificadas pela interface serão
oferecidas pela classe.

Programação com Objectos / Processamento de Dados I 2


5. Interfaces

| Conceito de interface
Problemas que o mecanismo de Interfaces tenta melhorar/resolver
relativamente a outras linguagens orientadas a objectos:
ƒ resolução do problema da herança múltipla
ƒ definição clara de tipos de dados definidos pelo utilizador e
implementação de tais tipos de dados
ƒ possibilidade de garantir que classes não relacionáveis na hierarquia e,
portanto, por herança, partilham propriedades comportamentais, ou
seja, implementam o comportamento especificado

Programação com Objectos / Processamento de Dados I 3


5. Interfaces

| Características
Uma interface apenas pode conter:
z um identificador
z um conjunto opcional de constantes
• identificadores declarados como static e final

z um conjunto de assinaturas (declarações) de métodos que são abstractos


• usar abstract é opcional

Uma interface não pode conter:


• atributos (variáveis)
• métodos implementados

A implementação de uma interface é realizada pela classe concreta

Programação com Objectos / Processamento de Dados I 4


5. Interfaces

| Características
z todos os métodos são abstractos
z os métodos não impõem qualquer tipo de restrição sobre as
implementações que venham a ser feitas, apenas definem a
sintaxe das operações que se pretendem a ser implementadas
z um interface não tem qualquer código de implementação. O código
concreto da implementação dos métodos encontra-se nas classes
que declarem a utilização/implementação de uma ou mais
interfaces (implements)

Programação com Objectos / Processamento de Dados I 5


5. Interfaces
| Declaração de uma interface
modificador interface nome_da_interface [extends int1, int2, …{
//declaração das constantes
modificador static final tipo nome =valor;

//declaração dos métodos


modificador abstract tipo nome_método();
}
Em UML as classes e métodos abstractos são representados com o
identificador/assinatura em itálico.

Nome_da_classe

modificador nome_método(argumentos): tipo_saída

Programação com Objectos / Processamento de Dados I 6

Das könnte Ihnen auch gefallen