您的位置:首页 > 其它

适配器模式和代理模式

2015-04-11 10:34 211 查看
代理模式:

class B {

A a;

public B(){a=new A();}

f(){a.f()}

}

B b=new B();

b.f(); //实质就是调用A的f方法

适配器模式:

class B implements AA{

A a =new A();

attack(){a.攻击();}

}

AA aa=new B();

aa.attack(); //AA接口类型的变量实际调用了A类的攻击()方法,

//通过接口调用A类的方法,A的方法和接口的方法不一致,需要“翻译者类B”适配

//AA接口中attack()方法,而A中是 进攻() 方法,也就是说A不是AA接口的实现类 ,这个AA a =new A();行不通

//所以换成AA a=new B();构造B类成为AA接口的实现类,重写attack()方法,而该方法的实现用的是A类的 进攻() 方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: