設計模式 裝飾者模式

2021-09-28 14:21:12 字數 1361 閱讀 8198

裝飾者模式

定義

指在不改變原有物件的基礎上,將功能附加到物件上,提供了比繼承更有彈性的替代方式
適應場景
1.用於擴充套件類的功能或新增附加屬性

2.動態的給乙個類新增功能,並且在不需要時可以撤銷

下面以員工能力及薪水為例

1.抽象員工類

/**

* 定義乙個員工類

*/public

abstract

class

employee

2.普通員工
/**

* 普通員工,繼承抽象類employee

*/public

class

generalemployee

extends

employee

@override

protected

intgetsalary()

}

3.員工裝飾類
/**

* 員工裝飾類

*/public

abstract

class

employeedecorator

extends

employee

@override

protected string getability()

@override

protected

intgetsalary()

}

4.提示管理能力,加薪
/**

* 進修班,員工在這裡學習後,就掌握了管理的能力,薪水也會增加

*/public

class

managerdecorator

extends

employeedecorator

/** *獲得管理能力

*/@override

protected string getability()

/** *薪水加 2000

*/@override

protected

intgetsalary()

}

5.測試**
public

6.類圖

設計模式 裝飾者模式

public abstract class beverage public abstract double cost public abstract class condimentdecorator extends beverage public class darkroast extends be...

設計模式 裝飾者模式

沒什麼特別的,之前看懂了,這次自己再複述一下。畢竟把別人講懂了才是真的懂了。主要參考了head first 設計模式。例子講述的是在為星巴克咖啡的製作訂單的情況,比如客人點了飲料,那麼系統會自動算出 不知道是我沒有體會到,還是這個例子不太合適,算出 那麼簡單的事還需要用到類?不過不影響我們思考裝飾者...

設計模式 裝飾者模式

好幾天沒出部落格了,在學習android的一些新控制項的時候,用到了乙個模式,叫裝飾者模式,所以在此講講這個模式。模式,包含以下四個角色 1 抽象構件 component 角色 給出乙個抽象介面,以規範準備接收附加責任的物件。2 具體構件 concretecomponent 角色 定義乙個將要接收附...