package july_thirtieth.decorator;
/** * 被裝飾抽象類——面
* 作用:當具體的被裝飾類有多種時,抽象提出該抽象類,用於後面實現多型。
*/public
abstract
class
noodle
package july_thirtieth.decorator;
/** * 具體的被裝飾者類—— 客人lee的麵類
* 繼承抽象的被裝飾者類,並實現其中的抽象方法。
*/public
class
leenoodle
extends
noodle
@override
void
soup()
@override
intprice()
}
package july_thirtieth.decorator;
/** * 具體的被裝飾者類—— 客人moon的麵類
* 繼承抽象的被裝飾者類,並實現其中的抽象方法。
*/public
class
moonnoodle
extends
noodle
@override
void
soup()
@override
intprice()
}
package july_thirtieth.decorator;
/** * 抽象裝飾者類——選單
* 要點:1.抽象裝飾者類中繼承該抽象類以保持介面規範
* 2.包含該抽象類的引用以通過多型的方式對多種被裝飾者類進行裝飾。
*/public
abstract
class
choosenoodle
extends
noodle
@override
void
hardness()
@override
void
soup()
@override
intprice()
}
package july_thirtieth.decorator;
/** * 可以加入的小料
*/public
inte***ce
noodledecorate
default
void
chili()
default
void
garlic()
default
void
parsley()
}
package july_thirtieth.decorator;
/** * 裝飾者類 豬豚骨麵
*/public
class
pignoodle
extends
choosenoodle
implements
noodledecorate
@override
void
hardness()
@override
void
soup()
@override
intprice()
}
package july_thirtieth.decorator;
/** * 裝飾者類 紅燒牛肉麵
*/public
class
beefnoodle
extends
choosenoodle
implements
noodledecorate
@override
void
hardness()
@override
void
soup()
@override
intprice()
}
package july_thirtieth.decorator;
public
class
noodletest
}
裝飾者設計模式的認識
我們通過乙個具體的例子來學習一下裝飾者設計模式 規則 public inte ce phone 具體類 public class callphone implements phone public abstract class phonedecorate implements phone overr...
設計模式的 C 實現 裝飾者模式
前文回顧 單例模式 一 單例模式 二 觀察者模式 簡單工廠模式 工廠方法模式 一 工廠方法模式 二 抽象工廠模式 一 抽象工廠模式 二 原型模式 外觀模式 中介者模式 模式 裝飾者模式的本質和 模式的原理是一樣的,體現了對乙個既有類進行擴充套件是的原則 除非有更好的理由採用繼承的方式 有虛函式需要重...
我的設計模式筆記 裝飾者模式
裝飾者模式要求 主體 被裝飾者 圖中的concrete component 和 裝飾 圖中的base decorator 都要繼承同乙個介面 圖中的component 其中 主體 和 裝飾 可以直接是該介面的實現,並且裝飾器 decorator 與介面是聚合關係。聚合關係 component聚合到裝...