一:图
二:适配器模式在工作中十分常用,如果你要修改之前的项目代码,那么你肯定在不知不觉中已经用到了。
三:应用场景
1:有一个已经完成的类Do,项目已经上线。
2:有了新的需求,需要重用Do中的一个方法,程序猿都是很懒的。
3:新接口已经由设计人员设计好了,你无法修改。
4:那么你应该怎么办?不想重新写代码实现接口,也不能修改之前的类代码。
四: 类适配模式code
1:实现接口并集成原类
2:在接口方法中调用原类的方法
接口
package adapter;
public interface Target {
void doSomething();
}
原类
package adapter;
public class Do {
public void do1(){
System.out.println("do do1");
};
}
接口实现类
package adapter;
public class NewDo extends Do implements Target {
@Override
public void doSomething() {
// TODO Auto-generated method stub
do1();
}
}
五:对象适配模式code
1:实现接口
2:接口实现类中传入原类
3:接口实现方法中调用原类的方法
接口
package adapter;
public interface Target2 {
void doSomething();
}
原类
package adapter;
public class Do2 {
public void do1(){
System.out.println("do2 do1");
};
}
接口实现类
package adapter;
public class NewDo2 implements Target2{
private Do2 do2;
public NewDo2(Do2 do2) {
this.do2 = do2;
}
@Override
public void doSomething() {
do2.do1();
}
}
六:测试
Target target = new NewDo();
target.doSomething();
Target2 target2 = new NewDo2(new Do2());
target2.doSomething();
输出:
do do1
do2 do1