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 楊軍威 閱讀(106) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 慈溪市| 涞水县| 营口市| 五峰| 乌鲁木齐市| 耒阳市| 娄烦县| 长寿区| 平和县| 钟山县| 镇坪县| 大宁县| 宜丰县| 仁寿县| 杭锦后旗| 文登市| 扎赉特旗| 黄浦区| 开封市| 治县。| 高要市| 永定县| 黑龙江省| 拜城县| 邵东县| 介休市| 浑源县| 揭西县| 牙克石市| 德江县| 平陆县| 禄丰县| 永济市| 两当县| 平潭县| 海丰县| 盈江县| 旬邑县| 商洛市| 白河县| 日土县|