設計模式之裝飾者模式

2022-05-11 02:57:40 字數 1585 閱讀 1167

作用:代替繼承 , 不破壞父類和實現類, 動態增強功能, 舉個例子,  出去聚會,要穿戴打扮。舊的子類 有穿衣服這個方法, 現在要增強穿衣服 這個方法 ----新增 刮鬍子, 噴香水,帶領節功能。

/*** 〈一句話功能簡述〉

* 〈使用者基類〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public abstract classuserparty

}

/*** 〈一句話功能簡述〉

* 〈〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public class zhangsanuserpartytest extendsuserparty

}

/*** 〈一句話功能簡述〉

* 〈〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public class deacoratordress extendsuserparty

@override

voiddress()

}

/*** 〈一句話功能簡述〉

* 〈〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public class lingjie extendsdeacoratordress

@override

voiddress()

}

/*** 〈一句話功能簡述〉

* 〈鞋子〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public class guahuzi extendsdeacoratordress

@override

voiddress()

}

/*** 〈一句話功能簡述〉

* 〈〉

* * @authorliangxing.zhu

* @create 2018/9/14

* @since1.0.0

*/public classtest

}

刮鬍子

gogogogogo

噴香水戴個帽子

戴個領結

張三結束了打扮**********===gogogogogo

噴香水戴個帽子

戴個領結

李四結束了打扮**********===gogogogogo

噴香水戴個領結

戴個帽子

王五結束了打扮**********==process finished with exit code 0

設計模式之 裝飾者模式

一 裝飾者模式 裝飾者模式又稱為包裝模式。動態地給乙個物件增加新的職責。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。裝飾者模式顧名思義就是對乙個物件進行裝飾,具體怎樣裝飾呢?那就是給這個物件不斷的增加職責方法。給乙個物件增加方法不簡單啊,用繼承或者直接在物件的類中增加方法。如果我們要對自...

設計模式之裝飾者模式

此模式動態將職責附加到物件上,若要擴充套件功能,裝飾者提供了比繼承更具彈性的代替方案,以一圖一概括。要點1 裝飾者和被裝飾物件有相同的超型別。2 可以用乙個或多個裝飾者包裝乙個物件。3 裝飾者可以在所委託被裝飾者的行為之前或之後,加上自己的行為,以達到特定的目的。4 物件可以在任何時候被裝飾,所以可...

設計模式之裝飾者模式

public abstract class beverage 返回當前飲品的 public abstract double cost 為了讓condiment decorator 調料裝飾者 能夠取代beverage,所以將它擴充套件至beverage類 public abstract class ...