Sei sulla pagina 1di 11

Adapter

(Adaptador)
Estrutural / Objeto e Classe
UNIPAR Universidade Paranaense
Prof. Jemerson Fernando Maia
Padres de Projetos e Frameworks
Toledo - Pr - 08/2014
Descrio
Inteno:
Converter a interface de uma classe em outra
interface esperada pelo cliente. Permite que
classes com interfaces incompatveis possam
colaborar.
Tambm conhecido como:
Wrapper.
2
O problema
3
Existe uma ferramenta grfica de texto
pronta, mas o programa de desenho s
trabalha com formas.
A Soluo
4
FormaTexto adapta a classe pronta
interface esperada pelo programa de
desenho.
Estrutura Padro de objeto
5
Analogia
6
Usar este padro quando...
voc quer usar uma classe j pronta que
possui uma interface diferente da que
voc precisa;
voc quer criar uma classe reutilizvel j
prevendo que a situao acima ocorrer
no futuro.
7
Vantagens e desvantagens
Adapter de Classe:
Permite que o adaptador sobrescreva algumas
funes do adaptado.
No funciona bem quando se quer adaptar uma
hierarquia de classes;
8
Vantagens e desvantagens
Adapter de Objeto:
Permite o uso de um nico adaptador para uma
hierarquia de classes adaptadas;
mais difcil sobrescrever funes do
adaptado.
9
Exemplos em Java
As classes envoltrio (Integer, Boolean,
Float, etc.);
Adaptadores de eventos de interface
grfica (AWT/Swing):
java.awt.MouseAdapter adapta
java.awt.MouseListener a uma interface mais
simples.
10
Exerccio
11
Na classe Iterar, dentro do mtodo main existe o cdigo ao lado, um Map
contendo chaves e valores. Essa classe possui tambm um mtodo
chamado iterar que recebe um objeto que implemente a interface Iterator.
Para obter a lista de chaves e valores do HashMap deve ser chamado os
mtodos keys() e elements() respectivamente conforme acima. Mas esses
mtodos retornam uma Enumeration. Mostre as chaves e valores do HashMap
no mtodo iterar criando um adapatador para a interface Enumeration.

Potrebbero piacerti anche