桥接模式:双维度扩展
使用桥接模式: 分离抽象与具体实现,让他们可以独自发展 Gift -> WarmGift ColdGift WildGift GiftImpl -> Flower Ring Car
public abstract class Gift {
GiftImpl impl;
}
public class GiftImpl {
}
public class WarmGift extends Gift {
public WarmGift(GiftImpl impl) {
this.impl = impl;
}
}
public class WildGift extends Gift {
public WildGift(GiftImpl impl) {
this.impl = impl;
}
}
public class Flower extends GiftImpl {
}
public class Book extends GiftImpl {
}
public class GG {
public void chase(MM mm) {
Gift g = new WarmGift(new Flower());
give(mm, g);
}
public void give(MM mm, Gift g) {
System.out.println(g + "gived to" + mm.getName);
}
}
public class MM {
String name;
}