裝飾者模式學習記錄

2021-10-10 01:27:20 字數 628 閱讀 7390

裝飾者應用場景  擴充套件乙個類的功能或給乙個類新增附加職責

優點 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...