裝飾者設計模式

2021-08-30 10:43:23 字數 1642 閱讀 7246

裝飾著 體現了開閉原則 對擴充套件開放,

基本類pojo

package com.founder.decorative;

/** * @author qincy

* 基本型別 抽象類

*/public abstract class basic

public basic()

public abstract double cost();

}

實現

package com.founder.decorative;

/** * @author qincy

* 裝飾 修飾類 不同

*/public class achievetest1 extends basicdecorative

@override

public string getdescription()

public double cost()

}

package com.founder.decorative;

public class achievetest2 extends basicdecorative

@override

public string getdescription()

public double cost()

}

裝飾者類

package com.founder.decorative;

/** * @author qincy

* 裝飾者的抽象類

*/public abstract class basicdecorative extends basic

實現裝飾者

package com.founder.decorative;

/** * @author qincy

* 形成 不同的類

*/public class basicextends1 extends basic

@override

public double cost()

}

package com.founder.decorative;

public class basicextends2 extends basic

@override

public double cost()

}

mian

package com.founder.decorative;

public class main

}

results

basicextends1basic   10.0

basicextends20basic === achievetest1 === achievetest2 === achievetest3 === achievetest4 30.0

basicextends 30basic === achievetest1 === achievetest2 === achievetest3 36.0

裝飾者設計模式

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

裝飾者設計模式

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

裝飾者 設計模式

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