增強類和被增強類共同實現的介面(以car舉例):
package demo2;
public inte***ce car
需要被增強的類(奇瑞qq):package demo2;
public class qq implements car
@override
public void stop()
}
package demo2;
private car car;
this.car = car;
}@override
public void run()
@override
public void stop()
}
package demo2;
/*** 裝飾者模式前提條件:
* 1.被增強類和增強類必須實現同乙個介面
* 2.增強類要有引用指向被增強類
* @param args
*/public static void main(string args)
}
被增強後:
java設計模式之裝飾者模式
裝飾者模式 動態的將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。類圖 barbecue類 實現 package com.decorator public abstract class barbecue public abstract double cost fish類 ...
Java設計模式之裝飾者模式
設想乙個情景,假設有一家奶茶店,店裡面只賣飲料,不賣其他的東西,且飲料的品種只有兩種分別為coffee和milk,那麼為這家店的訂單系統可以簡單的設計為兩個類,coffee類和milk類。如果有一天,店裡面賣的飲料品種增加了很多種,這個時候我們可以發現飲料種類很多,但是每一類都可以抽象出類似的屬性和...
Java設計模式之裝飾者模式
裝飾者模式在保持原有結構不變的情況下,新建類 新增功能 去包裝原有的類。1.實體抽象類 public inte ce drink 2.具體例項實現 public class coffee implements drink override public string getdescription 3...