
一、概述
1.桥接模式的应用情况:(1)两个维度扩展(2)排列组合
二、代码
1.Gift.java
public class Gift { protected GiftImpl giftImpl;
}
2.GiftImpl.java
public class GiftImpl { }
3.WarmGift.java
public class WarmGift extends Gift { public WarmGift(GiftImpl giftImpl) {
//调用父类的giftImpl
this.giftImpl = giftImpl;
} @Override
public String toString() {
return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
}
}
4.WildGift.java
public class WildGift extends Gift { public WildGift(GiftImpl giftImpl) {
//调用父类的giftImpl
this.giftImpl = giftImpl;
} @Override
public String toString() {
return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
}
}
5.Flower.java
public class Flower extends GiftImpl { }
6.Ring.java
public class Ring extends GiftImpl { }
7.MM.java
public class MM { private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }
8.Boy.java
public class Boy { private String name; public void pursue(MM mm){
Gift gift = new WildGift(new Flower());
give(gift, mm);
System.out.println(gift);
} public void give(Gift gift, MM mm) { }
}
9.Test.java
public class Test { @org.junit.Test
public void test() {
Boy b = new Boy();
b.pursue(new MM());
} }
三、运行结果