package DesignPattern;
public class AdapterPattern {
//对象适配器模式
//要点:在所需目标类的接口下,包装所需适配类的接口,以便在目标接口处使用
public interface Duck{
void quack();
void fly();
}
public static class MallardDuck implements Duck{
@Override
public void quack() {
System.out.println("Quack");
}
@Override
public void fly() {
System.out.println("I'm flying");
}
}
public interface Turkey{
void gobble();
void fly();
}
public static class WildTurkey implements Turkey{
@Override
public void gobble() {
System.out.println("Gobble gobble");
}
@Override
public void fly() {
System.out.println("I'm flying a short distance");
}
}
public static class TurkeyAdapter implements Duck{
Turkey turkey;
TurkeyAdapter(Turkey turkey){
this.turkey=turkey;
}
@Override
public void quack() {
turkey.gobble();
}
@Override
public void fly() {
turkey.fly();
}
}
public static void main(String[] args) {
MallardDuck duck = new MallardDuck();
WildTurkey turkey = new WildTurkey();
Duck turkeyAdapter = new TurkeyAdapter(turkey);
System.out.println("turkey says");
turkey.gobble();
turkey.fly();
System.out.println("\nThe Duck says");
duck.quack();
duck.fly();
System.out.println("\nThe TurkeyAdapter");
turkeyAdapter.quack();
turkeyAdapter.fly();
}
}
设计模式8-适配器模式
猜你喜欢
转载自www.cnblogs.com/zhouyu0-0/p/10724390.html
今日推荐
周排行