23种设计模式之适配器模式
2012-12-10 09:23
323 查看
package dp.adapter;
/**
* 我们吃饭就是等上齐了一起吃,非吃即喝,反正一直嘴不停的吃
* 被适配的类
*/
public class MyEat {
public void eat(){
System.out.println("吃饭");
}
public void drink(){
System.out.println("喝汤");
}
}
package dp.adapter;
/**
* MM吃饭方式步骤
* 适配的目标接口
*/
public interface MMeatTarget {
/**
*<p>MM喝饭前汤</p>
*/
public void eatFanQitanTang();
/**
*<p>MM吃正餐</p>
*/
public void eatZhengCan();
/**
*<p>MM吃饭后水果</p>
*/
public void eatFanHouShuiGuo();
}
package dp.adapter;
public class Adapter implements MMeatTarget{
public MyEat me = new MyEat();
public Adapter(MyEat me){
this.me = me;
}
@Override
public void eatFanHouShuiGuo() {
System.out.println("我正在按照MM的步骤吃饭后水果");
me.eat();
}
@Override
public void eatFanQitanTang() {
System.out.println("我正在按照MM的步骤吃饭前汤");
me.drink();
}
@Override
public void eatZhengCan() {
System.out.println("我正在按照MM的步骤吃饭正餐");
me.eat();
me.drink();
}
}
package dp.adapter;
public class Client {
public static void main(String[] args) {
MMeatTarget met = new Adapter(new MyEat());
met.eatFanQitanTang();
met.eatZhengCan();
met.eatFanHouShuiGuo();
}
}
/**
* 我们吃饭就是等上齐了一起吃,非吃即喝,反正一直嘴不停的吃
* 被适配的类
*/
public class MyEat {
public void eat(){
System.out.println("吃饭");
}
public void drink(){
System.out.println("喝汤");
}
}
package dp.adapter;
/**
* MM吃饭方式步骤
* 适配的目标接口
*/
public interface MMeatTarget {
/**
*<p>MM喝饭前汤</p>
*/
public void eatFanQitanTang();
/**
*<p>MM吃正餐</p>
*/
public void eatZhengCan();
/**
*<p>MM吃饭后水果</p>
*/
public void eatFanHouShuiGuo();
}
package dp.adapter;
public class Adapter implements MMeatTarget{
public MyEat me = new MyEat();
public Adapter(MyEat me){
this.me = me;
}
@Override
public void eatFanHouShuiGuo() {
System.out.println("我正在按照MM的步骤吃饭后水果");
me.eat();
}
@Override
public void eatFanQitanTang() {
System.out.println("我正在按照MM的步骤吃饭前汤");
me.drink();
}
@Override
public void eatZhengCan() {
System.out.println("我正在按照MM的步骤吃饭正餐");
me.eat();
me.drink();
}
}
package dp.adapter;
public class Client {
public static void main(String[] args) {
MMeatTarget met = new Adapter(new MyEat());
met.eatFanQitanTang();
met.eatZhengCan();
met.eatFanHouShuiGuo();
}
}
相关文章推荐
- java23种设计模式之适配器模式(Adapter)
- Java23种设计模式之-----适配器模式
- Java23种设计模式之适配器模式(Adapter Pattern)
- GoF23种设计模式之结构型模式之适配器模式
- JAVA的23种设计模式---适配器模式
- 23种经典设计模式的java实现_2_适配器模式
- 23种设计模式(6)_结构型_适配器模式(Adapter Pattern)
- GoF23种设计模式之结构型模式之适配器模式
- 23种经典设计模式的java实现_2_适配器模式
- 23种设计模式C++实例之适配器模式
- Java的23种设计模式----适配器模式
- 23种设计模式 第二部分 结构模式(1) 适配器模式
- 23种设计模式(17):适配器模式
- 23种设计模式之适配器模式(结构型,3 Adapter,c++实现)
- 23种设计模式之适配器模式(Adapter)
- java_23种设计模式之适配器模式
- Java 23种设计模式之适配器模式
- 【Unity与23种设计模式】适配器模式(Adapter)
- 重学java23种设计模式(6)适配器模式
- 23种设计模式3--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)