适配器模式
2017-12-21 18:37:36 6 举报
适配器模式
作者其他创作
大纲/内容
WildTurkey
目标接口interface Duckquack();fly();
客户只和目标接口Duck打交道,也就是说,客户只知道和他打交道的是一只鸭子(这只鸭子可能是一只真鸭子,也可能是被包装成鸭子的火鸡)
传入要适配对象的引用,这里用构造方法取得
适配器TurkeyAdapterTurkey turkey;//要适配的对象public TurkeyAdapter(Turkey turkey) {\tthis.turkey = turkey;}public void quack() {turkey.gobble();}public void fly() {turkey.fly();}
火鸡适配器实现了鸭子接口,使火鸡适配器看起来像一只鸭子
虽然调用的是鸭子接口,但是这不是真正的鸭子,而是一只火鸡,应该要调用火鸡的方法,所以鸭子接口方法的内部调用的是火鸡的方法。也就是说,适配器实现了鸭子接口,但它收到方法调用时会委托给火鸡。
被适配者
interface Turkeygobble();fly();
客户
火鸡适配器实现了鸭子接口,表明要把某个对象适配成鸭子,这里是要把火鸡适配成鸭子,火鸡对象就是要被适配的对象。
0 条评论
下一页