精選30+雲產品,助力企業輕鬆上雲!>>>
裝飾模式:在不改變 原有類 和 不使用繼承的情況下, 動態地擴充套件乙個物件的功能。
因會建立乙個包裝物件,來包裹真實物件而得名。
作用:增強物件的功能
例子1:
牆: 功能---遮風擋雨
包了牆紙的牆(本質還是牆):
原功能---遮風擋雨
新增功能---陶冶情操
1、沒有改變原有類
2、進行動態地增強
裝飾類:增強功能的類(包了牆紙的牆)
被裝飾類:待增強功能的類(牆)
實現原則:
1、 裝飾類必須實現被裝飾類的所有介面
2、裝飾類中必須獲取被裝飾類物件
準備**
phone介面:
public inte***ce phone
hwphone實現類:
分析:public class hwphone implements phone
public void sendmsg()
}
1、定義乙個裝飾類 實現 phone介面
2、裝飾類中 獲取到 被裝飾類物件(成員變數)
**實現:
hwphonedecorator:
測試類:public class hwphonedecorator implements phone
/** 打**方法不需要增強,不需要改變
* */
public void call(string number)
/*** 發簡訊方法需要被增強
*/public void sendmsg()
}
public static void main(string args)
未使用裝飾者設計模式效果
傳送簡訊
使用裝飾者設計模式效果
傳送簡訊
(o゜▽゜)o☆[bingo!]
裝飾者模式之通俗易懂
一句話 需要包裝,但不改變本質 同宗同源 在不改變原有物件的基礎之上,將功能附加到物件上。提供了比繼承更有彈性的替代方案 擴充套件原有物件功能 特點 1 注重覆蓋 擴充套件。2 裝飾器和被裝飾器都實現同乙個介面,主要目的是為了擴充套件之後依舊保留 oop 關係 同宗同源 3 滿足 is a 的關係。...
通俗易懂設計模式解析 建造者模式
在本篇文章中,我們重點介紹建造者模式 builder pattern 建造者模式顧名思義,與建造建立相關。事實也是如此建造者模式也是建立型中的一種。在我們平常生活中會有比較複雜的東西的組成過程。比如電腦組成 手機組成 電視組成 等等。就拿電腦組成來說。可以由主機板 cpu 顯示卡等等組成。但是組成的...
通俗易懂的裝飾器模式
裝飾器模式 decorator pattern 允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。意圖 動態地給乙個物件新增一些額外的職責...