java I O之裝飾設計模式

2021-07-28 08:16:16 字數 435 閱讀 5126

什麼是裝飾設計模式:即 在不必改變原類檔案和使用繼承的情況下,動態地擴充套件乙個物件的功能。它是通過建立乙個包裝物件,也就是裝飾來包裹真實的物件。

//我寫了乙個類叫person,person裡有吃飯方法

person()

}

現在我想給人的這個吃飯方法拓展點功能,讓它吃飯前先洗手,吃完飯再刷個碗,

如果我直接在person的eat方法裡修改**,可能會造成別的問題

,導致別的地方的**也要改。

用裝飾模式來解決就是寫乙個newperson類,呼叫原來person類的eat方法,並在newperson類中的eat()方法中寫新功能的**。

newperson()

eat()

}

java I O之裝飾者模式

裝飾者模式意圖 動態的給乙個物件新增額外的職責。decorator比生產子類靈活。多用組合,少用繼承。利用繼承設計子類的行為,是在編譯時靜態決定的,而且所有的子類都會繼承到相同的行為。然而,如果能夠利用組合的做法擴充套件物件的行為,就可以在執行時動態地進行擴充套件 類應設計的對擴充套件開放,對修改關...

設計模式2 裝飾者模式(java IO)

設計類 開放 關閉原則 要對擴充套件開放,對修改關閉。多用組合,少用繼承。高內聚低耦合 具體原因 當我們設計的類不能滿足我們的需求的時候,我們可能設計乙個類去繼承它,但是這樣就會使物件之間高度的耦合。此時,我們就可以考慮使用裝飾者模式 把物件嵌入我們要擴充套件功能的類中,呼叫他的方法,然後跟我們定義...

Java IO 裝飾者模式

裝飾模式以對客戶端透明的方式擴充套件物件的功能,是繼承關係的乙個替代方案。裝飾模式通過建立乙個包裝物件,也就是裝飾,來包裹真實的物件。裝飾模式以對客戶端透明的方式動態地給乙個物件附加上更多的責任。換言之,客戶端並不會覺得物件在裝飾前和裝飾後有什麼不同。裝飾模式可以在不創造更多子類的情況下,將物件的功...