для двух примеров в Java с использованием Class Adapter и Object adapter, чтобы достичь одинакового результата.
емя чтения шаблона адаптера класса вHead First Design PatternsЯ наткнулся на это предложение:
адаптер класса ... потому что вам нужно множественное наследование для его реализации, что невозможно в Java
Просто для эксперимента я попробовал следующее:
interface MyNeededInterface{
public void operationOne(MyNeededInterface other);
public MyNeededInterface operationTwo();
}
public class ThirdPartyLibraryClass{
public void thirdPartyOp();
}
Предположим, я создаю:
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);
}
}
В моем коде я могу использовать:
MyNeededInterface myclass = createThirdPartyWrapper();
myclass.operationOne(someobj);
...
Разве это не шаблон Class Adapter?