Java设计模式之适配器模式
2016-11-05 17:26
260 查看
适配器模式(Adapter Pattern)将一个类的接口转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
public class DuckTestDrive {
public static void main(String[] args) {
MallardDuck duck = new MallardDuck();//创建一只鸭子
WildTurkey turkey = new WildTurkey();//创建一只火鸡
Duck turkeyAdapter = new TurkeyAdapter(turkey);//然后将火鸡包装进一个火鸡适配器中,使它看起来像一只鸭子
System.out.println("The Turkey says...");
turkey.gobble();//测试伙计叫
turkey.fly();//测试飞行
System.out.println("\nThe Duck says...");
testDuck(duck);
System.out.println("\nThe TurkeyAdapter says...");
testDuck(turkeyAdapter);//测试假装是鸭子的火鸡
}
static void testDuck(Duck duck) {
duck.quack();
duck.fly();
}
}
参考资料《Head First设计模式》
public class DuckTestDrive {
public static void main(String[] args) {
MallardDuck duck = new MallardDuck();//创建一只鸭子
WildTurkey turkey = new WildTurkey();//创建一只火鸡
Duck turkeyAdapter = new TurkeyAdapter(turkey);//然后将火鸡包装进一个火鸡适配器中,使它看起来像一只鸭子
System.out.println("The Turkey says...");
turkey.gobble();//测试伙计叫
turkey.fly();//测试飞行
System.out.println("\nThe Duck says...");
testDuck(duck);
System.out.println("\nThe TurkeyAdapter says...");
testDuck(turkeyAdapter);//测试假装是鸭子的火鸡
}
static void testDuck(Duck duck) {
duck.quack();
duck.fly();
}
}
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 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();//调用火鸡的方法 } } }
参考资料《Head First设计模式》
相关文章推荐
- 23种经典设计模式的java实现_2_适配器模式
- 【设计模式】Java与模式 --- 适配器模式
- java设计模式之适配器模式
- Java设计模式二十:适配器模式(Adapter)
- java_23种设计模式之适配器模式
- 23种经典设计模式的java实现_2_适配器模式
- java设计模式(简例)----适配器模式
- 浅谈 java 设计模式--适配器模式(Adaptor pattern)
- java 设计模式之七-适配器模式
- 设计模式(六)----- 适配器模式(Adapter)----(JAVA版)
- Java设计模式之适配器模式
- Java设计模式 - Adapter(适配器模式)
- java设计模式----适配器模式
- JAVA设计模式——适配器模式
- 深入浅出Java设计模式之适配器模式
- Java设计模式之适配器模式
- Java设计模式——结构型模式——适配器模式
- java设计模式:适配器模式[Apater]
- Java设计模式之适配器模式
- Java设计模式构造型之适配器模式