java學習

          java學習

           

          設計模式之裝飾者模式

          裝飾模式指的是在不必改變原類文件和使用繼承的情況下,動態地擴展一個對象的功能。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。
          public interface ICake {
          public float cost();
          }
          public abstract class CakeDecorator implements ICake{
          }
          public class MilkCake implements ICake{
          @Override
          public float cost() {
          return 100f;
          }
          }
          public class Berry extends CakeDecorator {
          private ICake cake;
          public Berry(ICake cake) {
          this.cake = cake;
          }
          @Override
          public float cost() {
          float berryPrice = 5f;
          return cake.cost() + berryPrice;
          }
          }
          public class Chocolate extends CakeDecorator{
          private ICake cake;
          public Chocolate(ICake cake) {
          this.cake = cake;
          }
          @Override
          public float cost() {
          float chocolatePrice = 25f;
          return cake.cost() + chocolatePrice;
          }
          }
          public class Test {
          public static void main(String[] args) throws FileNotFoundException {
          MilkCake mc = new MilkCake();
          Berry b = new Berry(mc);
          Chocolate c = new Chocolate(b);
          System.out.println("" + c.cost());
          }
          }

          posted on 2017-09-08 10:36 楊軍威 閱讀(105) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新营市| 曲松县| 河南省| 德令哈市| 中西区| 尼玛县| 南雄市| 朔州市| 随州市| 酒泉市| 武邑县| 瑞安市| 蒙城县| 巩义市| 松阳县| 鹤峰县| 长乐市| 五寨县| 江城| 洛扎县| 新乡县| 信丰县| 车险| 丁青县| 普陀区| 和硕县| 府谷县| 崇仁县| 龙江县| 碌曲县| 眉山市| 山西省| 南澳县| 明星| 龙岩市| 禹城市| 仁寿县| 理塘县| 嘉黎县| 柯坪县| 顺义区|