裝飾者設計模式

2021-08-05 19:59:17 字數 982 閱讀 4660

通過繼承實現乙個類的優點:**結構清晰,通俗易懂

缺點:使用不靈活,導致繼承的體系過於龐大

增強乙個類的功能,而且還可以讓這些類互相裝飾。

步驟:

1.在裝飾類內部維護乙個被裝飾類的引用

2.讓裝飾類有乙個共同的父類或者父介面

裝飾者設計模式要讓這些修飾類有乙個共同的父類的目的是

為了讓這些裝飾類可以構成乙個裝飾鏈以達到互相裝飾的效果

優點:內部可以通過多型技術對多個可以增強的類進行增強,

可以使這些裝飾類達到相互裝飾的效果

缺點:需要內部通過多型技術維護需要被增強的類的例項

使**複雜化

class bufferedlinenum2 extends bufferedreader

//實現bufferedreader的readline方法

public string readline() throws ioexception

count++;

return count+」 「+line;

} public void close() throws ioexception

} //帶分號的緩衝輸入字元流

class bufferedlinenum1 extends bufferedreader

public string readline()throws ioexception

public void close()throws ioexception

} class bufferedlinenum3 extends bufferedreader

public string readline()throws ioexception

return 「\」「+line+」\」「;

} public void close()throws ioexception

} public class demo807a

}

裝飾者設計模式

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

裝飾者設計模式

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

裝飾者 設計模式

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