для двух примеров в 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?

Ответы на вопрос(3)

Ваш ответ на вопрос