class TomadaDeDoisPinos implements TomadaDeDoisPinosIF {
@Override
public void conectar(ConectorDeDoisPinos conector) {
System.
out.
println(conector.
getDescricao()); }
}
class ConectorDeDoisPinos {
public String getDescricao
() { this.descricao = " conector de dois pinos.";
return this.descricao;
}
}
class CarregadorAntigo extends ConectorDeDoisPinos {
@Override
this.descricao = " conector de dois pinos.";
return "Carregador antigo conectando a tomada de " + descricao;
}
}
interface TomadaDeDoisPinosIF {
public void conectar(ConectorDeDoisPinos conector);
}
class Teste {
public static void main
(String[] args
) { ConectorDeDoisPinos cAntigo = new CarregadorAntigo();
TomadaDeDoisPinos tomadaDeDoisPinos = new TomadaDeDoisPinos();
tomadaDeDoisPinos.conectar(cAntigo);
}
}
//https://pt.stackoverflow.com/q/102981/101
Y2xhc3MgVG9tYWRhRGVEb2lzUGlub3MgaW1wbGVtZW50cyBUb21hZGFEZURvaXNQaW5vc0lGIHsKCUBPdmVycmlkZSAKCXB1YmxpYyB2b2lkIGNvbmVjdGFyKENvbmVjdG9yRGVEb2lzUGlub3MgY29uZWN0b3IpIHsKCQlTeXN0ZW0ub3V0LnByaW50bG4oY29uZWN0b3IuZ2V0RGVzY3JpY2FvKCkpOyAgCgl9IAp9CiAKY2xhc3MgQ29uZWN0b3JEZURvaXNQaW5vcyB7Cglwcm90ZWN0ZWQgU3RyaW5nIGRlc2NyaWNhbzsgICAgCgkgCglwdWJsaWMgU3RyaW5nIGdldERlc2NyaWNhbygpIHsgIAoJCXRoaXMuZGVzY3JpY2FvID0gIiBjb25lY3RvciBkZSBkb2lzIHBpbm9zLiI7IAoJCXJldHVybiB0aGlzLmRlc2NyaWNhbzsgICAKCX0gCgp9CgpjbGFzcyBDYXJyZWdhZG9yQW50aWdvIGV4dGVuZHMgQ29uZWN0b3JEZURvaXNQaW5vcyB7CglAT3ZlcnJpZGUgCglwdWJsaWMgU3RyaW5nIGdldERlc2NyaWNhbygpeyAgCgkJdGhpcy5kZXNjcmljYW8gPSAiIGNvbmVjdG9yIGRlIGRvaXMgcGlub3MuIjsgCgkgICAgcmV0dXJuICJDYXJyZWdhZG9yIGFudGlnbyBjb25lY3RhbmRvIGEgdG9tYWRhIGRlICIgKyBkZXNjcmljYW87ICAgCgl9ICAgIAp9CgppbnRlcmZhY2UgVG9tYWRhRGVEb2lzUGlub3NJRiB7IAoJcHVibGljIHZvaWQgY29uZWN0YXIoQ29uZWN0b3JEZURvaXNQaW5vcyBjb25lY3Rvcik7CgkKfSAKCmNsYXNzIFRlc3RlIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQlDb25lY3RvckRlRG9pc1Bpbm9zIGNBbnRpZ28gPSBuZXcgQ2FycmVnYWRvckFudGlnbygpOwoJCVRvbWFkYURlRG9pc1Bpbm9zIHRvbWFkYURlRG9pc1Bpbm9zID0gbmV3IFRvbWFkYURlRG9pc1Bpbm9zKCk7CgkJdG9tYWRhRGVEb2lzUGlub3MuY29uZWN0YXIoY0FudGlnbyk7ICAgICAgIAoJCSAKCX0gICAKfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMTAyOTgxLzEwMQ==