首页 > 编程语言 > 详细

Java-马士兵设计模式学习笔记-桥接模式

时间:2015-06-22 19:07:04      阅读:298      评论:0      收藏:0      [点我收藏+]

一、概述

1.桥接模式的应用情况:(1)两个维度扩展(2)排列组合

 

二、代码

技术分享

1.Gift.java

1 public class Gift {
2 
3     protected GiftImpl giftImpl;
4 }

 

2.GiftImpl.java

1 public class GiftImpl {
2 
3 }

 

3.WarmGift.java

 1 public class WarmGift extends Gift {
 2 
 3     public WarmGift(GiftImpl giftImpl) {
 4         //调用父类的giftImpl
 5         this.giftImpl = giftImpl;
 6     }
 7 
 8     @Override
 9     public String toString() {
10         return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
11     }
12 }

 

4.WildGift.java

 1 public class WildGift extends Gift {
 2 
 3     public WildGift(GiftImpl giftImpl) {
 4         //调用父类的giftImpl
 5         this.giftImpl = giftImpl;
 6     }
 7 
 8     @Override
 9     public String toString() {
10         return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
11     }
12 }

 

5.Flower.java

1 public class Flower  extends GiftImpl {
2 
3 }

 

6.Ring.java

1 public class Ring extends GiftImpl {
2 
3 }

 

7.MM.java

 1 public class MM {
 2     
 3     private String name;
 4 
 5     public String getName() {
 6         return name;
 7     }
 8 
 9     public void setName(String name) {
10         this.name = name;
11     }
12     
13 }

 

8.Boy.java

 1 public class Boy {
 2 
 3     private String name;
 4     
 5     public void pursue(MM mm){
 6         Gift gift = new WildGift(new Flower());
 7         give(gift, mm);
 8         System.out.println(gift);
 9     }
10 
11     public void give(Gift gift, MM mm) {
12         
13     }
14 }

 

9.Test.java

1 public class Test {
2 
3     @org.junit.Test
4     public void test() {
5         Boy b = new Boy();
6         b.pursue(new MM());
7     }
8 
9 }

 

三、运行结果

技术分享

 

Java-马士兵设计模式学习笔记-桥接模式

原文:http://www.cnblogs.com/shamgod/p/4593597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!