裝飾著模式

2021-08-03 06:25:52 字數 1189 閱讀 2703

package com.henu.decorator;

/** * 漢堡基類

* @author rock

*/public abstract class humburger

public abstract double getprice();

}package com.henu.decorator;

/** * 雞腿堡類(被裝飾者的初始狀態,有些自己的簡單裝飾,相當於上面的person)

* @author rock

*/public class chickenburger extends humburger

public chickenburger()

} package com.henu.decorator;

/** * 配料的基類(裝飾者,用來對漢堡進行多層裝飾,每層裝飾增加一些配料,相當於上面decorator)

* @author rock

* */

public abstract class condiment extends humburger

package com.henu.decorator;

/** * 生菜(裝飾者的第一層,相當於上面的decorator_zero)

* @author rock

* */

public class lettuce extends condiment

@override

public string getname()

@override

public double getprice()

}package com.henu.decorator;

/** * 辣椒(裝飾者的第二層)

* @author rock

* */

public class chilli extends condiment

@override

public string getname()

@override

public double getprice()

} public class test

}雞腿堡 價錢:10.0

雞腿堡 價錢:11.5

雞腿堡+辣椒 價錢:10.0

雞腿堡+辣椒 價錢:11.5

裝飾著模式

裝飾著模式 裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。案例 有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比如milk,sugaran...

裝飾著模式(Decorator Pattern)

裝飾者模式是動態的將責任附加到物件上,若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。簡單的說,裝飾者模式由三部分組成,分別是基礎抽象類,可以被裝飾者包裝的類 裝飾者類,後兩種類均是基礎抽象類的子類,但是裡面的方法對於基礎類有更多的擴充套件,最終使用,均是使用的基礎類進行操作,因此,無論怎麼...

設計模式 裝飾著模式

裝飾者模式的應用場景覆蓋,擴充套件,is a,前置,寫法 裝飾者模式 decorator pattern 是指在不改變原有物件的基礎之上,將功能附加到物件上,提供了比繼承更有彈性的替代方案 擴充套件原有物件的功能 裝飾者在 程式中適用於以下場景 1 用於擴充套件乙個類的功能或給乙個類新增附加職責。2...