定义:
适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间
适配器的作用:比如,欧洲的壁式插座是3孔的,而美国的一种笔记本电脑是2孔插头。而适配器位于美式插头和欧式插孔的中间,它的工作是将欧式插座转换成美式插座。或者这样认为:适配器改变了插座的接口,以符合美式电脑的需求。
适配器就如同中间人,它让客户所发出的请求转换成厂商类能理解的请求
更改鸭子例子
public interface Duck{
public void quack();
public void fly();
}
绿头鸭是鸭子的子类
public class MallardDuck implements Duck{
public void quack(){
System.out.println("Quack");
}
public void fly(){
System.out.println("I'm flying");
}
}
火鸡类
public interface Turkey{
public void gobble();
public void fly();
}
public class WildTurkey implements Turkey{
public void gobble(){
//火鸡叫声
System.out.println("Gobble gobble");
}
public void fly(){
System.out.println("I'm flying a short distance");
}
}
现在假设缺鸭子,用火鸡来冒充
那么,就写个适配器
public class TurkeyAdapter implements Duck{
Turkey turkey;
public TurkeyAdapter (Turkey turkey){
this.turkey = turkey;
}
public void quack(){
turkey.gobble();
}
public void fly(){
for(int i=0; i<5; i++){
turkey.fly();
}
}
}
8万+

被折叠的 条评论
为什么被折叠?



