裝飾者應用場景 擴充套件乙個類的功能或給乙個類新增附加職責
優點 1.不改變原有物件的情況下給乙個物件擴充套件功能
2.使用不同的組合可以實現不同的效果
3.符合開閉原則
注意 在新的裝飾器中要呼叫原來的方法 否則是不正確的
public class decorator
}inte***ce component
class concomponent implements component
}abstract class decoratorabstar implements component
} class dectoirator1 extends decoratorabstar
public void operator()
} class dectoirator2 extends decoratorabstar
@override
public void operator()
}
執行結果
設計模式學習 裝飾者模式
當我們來到kfc開始點餐的時候,一開始還不是特別有胃口,所以只點了乙份漢堡 有乙份漢堡和飲料,但後來又點了乙份薯條,最後乾脆再點乙份炸雞腿,那麼如何來計算我們花了多少錢呢?在這個場景下,裝飾者模式會起到很好的效果。定義 動態的將責任附加到物件身上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方...
裝飾者模式
裝飾者模式 動態地將責任附加到物件上。若要擴張功能,裝飾者提供了比繼承更有彈性的替代方案。裝飾者可以在所委託被裝飾者的行為之前或之後,加上自己的行為,以達到特定的目的。裝飾者與被裝飾者物件具有相同的超型別。include include using namespace std class bever...
裝飾者模式
裝飾者模式,是在不改變原類檔案和使用繼承的情況下,動態地擴充套件乙個物件的功能。它是通過建立乙個包裝物件,也就是裝飾來包裹真實的物件。裝飾者模式中的角色 1 被裝飾者抽象component,是乙個介面或抽象類,就是定義最核心的物件,也是最原始的物件,這個類是需要裝飾類的基類。2 被裝飾者具體實現co...