ano tenho
Roteiro
• Relação entre objetos
– Agregação
– Composição
– Associação
interface
• Visão externa da classe
– Membros acessíveis pelos usuários da classe
– Conjunto de métodos públicos
– Pode ter constantes (final)
– Ao usar um objeto o programador conhece a interface do mesmo
– Define um contrato
Cont...
• Á definição de interface é similar a das classes
• Todos os métodos devem ser públicos ou abstratos • Todos os atributos deveram ser públicos, estáticos ou finais
• Uma interface pode estender outra interface
– public Interface extends OutraInterface{...}
Implementação
• A Implementação é feita na classe
– Uma classe pode implementar várias interfaces
• Class Classe implements Inter1, inter2, inter3{...}
– Palavra reservada implements
– A classe deve implementar todos os métodos da interface Cont...
Cont...
• Quando uma classe implementa uma interface, esta está assinando um contrato definido • A programação deve ser baseada na interface
– Parâmetros dos métodos
– Referências a objetos
Exemplo
• Agenda de contatos
– Interface Contato e Agenda
– Todos os métodos são públicos
– Podem ser implementados de diferentes formas
Interfaces como tipo
• Na interface poderá declarar variáveis
– Apenas os métodos da interface são acessados
• Somente instâncias de classes que implementam uma determinada interface podem ser referenciadas por uma variável que referencia esta interface
Cont...
Atividade
• Sobre o pacote java.lang
– Quais interfaces são definidas e o que significa cada uma delas
– Quais os métodos definidos em cada uma delas e o que eles devem fazer?
• No programa Agenda:
– Crie interfaces para Agenda e Contatos
• No programa do Bancos
– Crie interfaces para Agencia, Conta e cliente
Cont...
• Estude a interface java.util.List
– Estude as duas implementações
• ArrayList e LinkedList
• Desafio
– Implemente uma agenda que armazene os contatos em uma