天天看點

設計模式-裝飾器模式

定義:不改變原類檔案和繼承關系的情況下,動态擴充一個對象的功能。他是通過建立一個包裝對象。

使用場景:不想使用繼承,但又要在原有基礎上增加額外功能。如一部手機,給他增加一個手機殼,再增加一個保護膜。

結構:

抽象構件(Component):定義一個抽象接口

具體構件(ConcreteComponent):實作抽象構件

抽象裝飾(Decorator):繼承抽象構件,并包含具體構件的執行個體,可以通過其子類擴充具體構件的功能

具體裝飾(ConcreteDecorator):實作抽象裝飾的相關方法,并給具體構件對象添加附加功能

設計模式-裝飾器模式

給一個隻有打電話功能的手機增加功能。

代碼示例:

測試代碼:

傳回目錄

書山有路勤為徑,學海無涯苦作舟