簡介
裝飾器模式(Decorator Pattern)允許向一個現有的物件添加新的功能,同時又不改變其結構,這種型別的設計模式屬于結構型模式,它是作為現有的類的一個包裝,
這種模式創建了一個裝飾類,用來包裝原有的類,并在保持類方法簽名完整性的前提下,提供了額外的功能,我們通過下面的實體來演示裝飾器模式的用法,其中,我們將把一個形狀裝飾上不同的顏色,同時又不改變形狀類,
功能展現
功能介紹
- 手機默認都有一個打電話功能
- 在不改變源代碼的情況下,給手機增強默些功能,比如:打電話前,放首歌,,,,,,,
代碼實作
手機介面類:Iphone.java
package com.cyb.ssm.design_pattern.decorate; public interface Iphone { void call(); }
介面實作類(Iphone6):Iphone6.java
package com.cyb.ssm.design_pattern.decorate; public class Iphone6 implements Iphone{ @Override public void call() { System.out.println("使用iphone6打電話,性能杠杠滴"); } }
裝飾類(重點):IphoneDecorate.java
package com.cyb.ssm.design_pattern.decorate; /** * 裝飾類 * * @author apple * */ public class IphoneDecorate implements Iphone { private Iphone Iphone; public IphoneDecorate(Iphone iphone) { super(); this.Iphone = iphone; } @Override public void call() { System.out.println("人猿泰山music,,,"); Iphone.call(); } }
測驗類:TestDecorate.java
package com.cyb.ssm.design_pattern.decorate; import org.junit.Test; public class TestDecorate { @Test public void test() { Iphone iphone=new IphoneDecorate(new Iphone6()); iphone.call(); } }
實作

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/32475.html
標籤:設計模式
上一篇:2020薦書:軟體設計的哲學
