裝飾者設計模式

2021-09-26 04:51:15 字數 1156 閱讀 6237

顧名思義,裝飾者的設計模式,終究只是個裝飾著。不能改變它們裝飾物件的本質,只能讓它們看起來更華麗,功能強大一點而已。

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

裝飾著設計模式,在io流中體現的淋漓盡致。

bufferedreader bufferedreader =

newbufferedreader

(new

inputstreamreader

(new

fileinputstream

(new

file

("d:\\aaa.txt"))));

理解:只是在用位元組流讀取檔案的時候,穿了兩件衣服而已,只是提高了讀取效率,並沒有改變讀取檔案的本質。

例:

/**

* 抽象人類 最基礎的類

*/public

abstract

class

person

/**

*學生類

*/public

class

student

extends

person

}

/**

*老師類

*/public

class

teacher

extends

person

}

/**

*強化吃的功能,只是在人的吃的方法上增強了一下功能

*/public

class

strongperson

extends

person

@override

public

void

eat(

)}

測試類

public

class

demo

}

執行結果

裝飾者設計模式

裝飾者模式 動態地給乙個物件新增一些額外的職責,就增加功能來說,decorator模式比生成子類更為靈活。讓decorator物件為自己新增功能。有時候使用concretecomponent的派生類提供核心功能,在這種情況就是用concretecomponent替代了component的功能,而且裝...

裝飾者設計模式

package 模式練習部分 首先建立,手機介面,然後建立最基本功能的手機,也就是只有接 功能的手機,然後在這個基礎上在設計乙個裝飾類 開始具體的裝飾過程,按照本例中的步驟,下面要做的就是對於具體裝飾者的建立,先有彩鈴,然後開始接 然後在接完 以後,沒有什麼其他的事情了,開始看會兒電視休息一下。建立...

裝飾者 設計模式

裝飾者 設計模式 1.增強乙個類的 功能,給某個類的 某個方法 增強了,重寫方法 2.讓裝飾類 互相裝飾 實現的步驟 1.在裝飾類的 內部 維護乙個 被裝飾類的 引用 最好是父類的引用 例如 bufferedline 內部維護的 是 bufferedreader類的引用 2.讓裝飾類 有乙個 共同的...