olá pessoal, alguém poderia postar um exemplo de adapter.
grato
olá pessoal, alguém poderia postar um exemplo de adapter.
grato
Olha, vou te dar um exemplo bem tosco… mas como ninguém te responde… melhor que nada.
Seila, imagina que você vai criar um método que recebe um objeto como parâmetro, esse objeto tem um método chamado soma e você quer mostrar ele:
void exec(X obj) {
sysout(obj.soma());
}
Tá, mas ai, você ja tem uma classe la - ClassePronta - , que tem um método ‘qtde’ definido, e você queria usar aquele método ‘exec’ que você criou para mostrar a ‘qtde’ tb… mas você não quer ‘enjessar’ aquele seu método para só receber objetos do tipo “ClassePronta”. O que você faz? Adapter. Você pode implementar de duas formas, usando Interface ou classes abstratas (ambos tem suas situações para serem usados). Tá, resolvendo o problema, você então pode criar uma Interface ‘MinhaInterface’ que define o método int soma():
Interface MinhaInterface {
int soma();
}
depois criar a classe que vai adaptar o treco, ela extende ‘ClassePronta’ e implementa ‘MinhaInterface’, adaptando assim para o seu método:
class Adaptar extends ClassePronta implements MinhaInterface {
int soma() {
return super.qtde();
}
}
repare que você fez soma chamar aquele método que você queria, fazendo assim a adaptação… dessa forma é só você criar seu método recebendo um objeto que implementa ‘MinhaInterface’ que tudo funciona.
void exec(MinhaInterface obj) {
sysout(obj.soma());
}
Desculpa se não fui muito claro… mas é isso ae o Adapter. Eu sei que ja usei algumas vezes aqui onde trabalho, mas não me lembro, essas coisas eu uso mas sem ficar pensando: “ah, to usando adapter”, senão eu te dava um exemplo mais real e tal…
valeu!
Valeu kra consegui entender legal.