Java設計模式之裝飾者模式

2021-09-24 12:26:39 字數 710 閱讀 1536

增強類和被增強類共同實現的介面(以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...