Java 裝飾者模式

2021-08-27 04:01:07 字數 977 閱讀 3034

裝飾者模式

課題:星巴茲咖啡

beverage:飲料

condiment: 調料

開發-關閉原則:類應該對擴充套件開放,對修改關閉。

定義裝飾者模式

裝飾者模式:動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。

//飲料抽象類

public abstract class beverage

public abstract double cost();

}//調料抽象類

public abstract class condimentdecorator extends beverage

//具體的飲料類 濃縮咖啡

public class espresso extends beverage

@override

public double cost()

}//具體飲料類

public class houseblend extends beverage

@override

public double cost()

}具體調料裝飾類

public class mocha extends condimentdecorator

@override

public string getdescription()

@override

public double cost()

}public class whip extends condimentdecorator

@override

public string getdescription()

@override

public double cost()

}測試類

public class starbuzzcoffee

}

java裝飾者模式

1 定義 動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。2 描述 由 抽象構件角色 定義乙個抽象介面,來規範準備附加功能的類 具體構件角色 將要被附加功能的類,實現抽象構件角色介面 抽象裝飾者角色 持有對具體構件角色的引用並定義與抽象構件角色一致的介面 和 具體裝...

java 裝飾者模式

1.裝飾者模式 思想 可以通過裝飾 對原來的功能進行公升級 例如 bufferedoutputstream 傳入的引數是 fileoutputstream 相當於把fileoutputstream裝飾了 裝飾後 功能得到提公升 寫入效率提高 裝飾者模式流程 1 把被裝飾者寫成成員變數 2 構造方法中...

java裝飾者模式

意圖 動態地給乙個物件新增一些額外的職責。就增加功能來說,decorator模式相比生成子類更為靈活。因為參考網上說法都不太一樣,故按照我理解的意思描述下裝飾者模式,以希望給後來者一些稍微的指引 通俗地說就是包裝物件,在不影響其他物件的情況下,動態,透明地給單個物件新增一些功能 裝飾模式就是給乙個物...