设计模式-适配器
2015-04-08 10:00
288 查看
定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
![](http://images.cnitblog.com/blog2015/734283/201504/080948360243854.jpg)
![](http://images.cnitblog.com/blog2015/734283/201504/080948360243854.jpg)
//定义鸭子接口 public interface Duck { public void quack(); public void fly(); } //绿头鸭 public class MallardDuck implements Duck{ @Override public void quack() { // TODO Auto-generated method stub System.out.println("duck ... quack .... quack"); } @Override public void fly() { // TODO Auto-generated method stub System.out.println("duck ... fly ... fly"); } } //定义火鸡接口 public interface Turkey { public void gobble(); public void fly(); } //实现火鸡接口 public class WildTurkey implements Turkey{ @Override public void gobble() { // TODO Auto-generated method stub System.out.println("turkey ... gobble ... gobble"); } @Override public void fly() { // TODO Auto-generated method stub System.out.println("turkey ... fly ... fly"); } } //适配器,火鸡适配鸭子 public class TurkeyAdapter implements Duck{ private Turkey mTurKey = null; public TurkeyAdapter(Turkey trukey){ mTurKey = trukey; } @Override public void quack() { // TODO Auto-generated method stub if(mTurKey != null) mTurKey.gobble(); } @Override public void fly() { // TODO Auto-generated method stub if(mTurKey != null) mTurKey.fly(); } } public class Client { public static void main(String[] args) { MallardDuck duck = new MallardDuck(); WildTurkey turkey = new WildTurkey(); Duck turkeyAdapter = new TurkeyAdapter(turkey); testDuck(duck); testDuck(turkeyAdapter); } static void testDuck(Duck duck){ if(duck != null){ duck.quack(); duck.fly(); } } }
相关文章推荐
- 【设计模式】之实例化适配器(Adapter)模式
- 设计模式之适配器-Adapter--适配器模式
- [OOAD]设计模式之适配器(Adapter)模式
- 设计模式之适配器
- 设计模式--适配器(Adapter)
- 设计模式之适配器(Adapter)---类对象结构型模式
- 设计模式笔记--结构型模式之一适配器 adapter
- JAVA设计模式系列之Adapter(适配器)-Java基础-Java-编程开发
- 设计模式学习(六) ------- 适配器与外观
- Dot Net设计模式—适配器、桥接与外观三模式之间的关系(转)
- Dot Net设计模式—适配器、桥接与外观三模式之间的关系
- 设计模式之Adapter(适配器)
- 设计模式之Adapter(适配器)
- 《Java与模式》学习笔记:设计模式——适配器(Adapter)模式
- Java设计模式:Adapter(适配器)
- 设计模式袖珍版 连续转载之 - Adapter(适配器)
- 设计模式之Adapter(适配器)
- 设计模式--适配器(Adapter)
- 设计模式--适配器(Adapter)
- 设计模式之Adapter(适配器)