适配器模式和代理模式

来源:互联网 发布:程序员个人评价 编辑:程序博客网 时间:2024/04/30 08:36

代理模式:

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类的  进攻()  方法

0 0
原创粉丝点击