Implementar el patrón de adaptador de clase en Java
Mientras lee el patrón Adaptador de clase en Head First Patrones de diseño, Me encontré con esta frase:
daptador @class ... porque necesita herencia múltiple para implementarlo, lo que no es posible en Java
Solo para experimentar, probé lo siguiente:
interface MyNeededInterface{
public void operationOne(MyNeededInterface other);
public MyNeededInterface operationTwo();
}
public class ThirdPartyLibraryClass{
public void thirdPartyOp();
}
Supongo que creo:
class ThirdPartyWrapper extends ThirdPartyLibraryClass implements MyNeededInterface{
@Override
public void operationOne(ThirdPartyWrapper other){
this.thirdPartyOp();
dosomeExtra();
}
@Override
public ThirdPartyWrapper operationTwo(){
int somevalue = doSomeThingElse();
return new ThirdPartyWrapper(somevalue);
}
}
En mi código, puedo usar:
MyNeededInterface myclass = createThirdPartyWrapper();
myclass.operationOne(someobj);
...
¿No es este el patrón Adaptador de clase?