zoukankan      html  css  js  c++  java
  • Java-马士兵设计模式学习笔记-桥接模式

    一、概述

    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 }

    三、运行结果

  • 相关阅读:
    Watir and Selenium
    WebDriver 原理 (zhuan)
    Junit4 如何实现并发测试用例,及 Selenium Grid2 与 Junit4 结合进行并发测试。
    Excel: 如何知道 A列中的条目是否在 B 列中
    WebDriver如何工作 (zhuan)
    复习 多线程
    Way To Get Xpath From IE (forward)
    Eclipse 常用快捷键
    如何引入(调用)一个 js文件
    Wireshark 常见 filter (转)
  • 原文地址:https://www.cnblogs.com/shamgod/p/4593597.html
Copyright © 2011-2022 走看看