Design Pattern: Adapter 模式 - Class Adapter
Adapter模式的另一种作法是Class Adapter模式,在这个模式下,Adapter直接继承Adaptee(要引进的新类别),以拥有当中的成员及方法,在C++中的话可以这么作:
adapter-3.jpg
C++中可以多重继承,但在Java中不行,所以在Java中若要采用Class Adapter,必须作点修改,一方面继承Adaptee,一方面实作Target的介面:
adapter-4.jpg
代码的实现是这样的:
public class SomeAndOther extends SomeClass implements IOther { private IOther other = new OtherClass(); public void doOther() { other.doOther(); } }