Java設計模式之20 裝飾模式(1)

2021-08-27 20:46:56 字數 922 閱讀 2276

裝飾模式是一種結構型設計模式。其使用一種對客戶端透明的方式,來動態的擴充套件物件的功能。同時,它也是繼承關係的一種替代方案之一。定義:動態地給乙個物件新增一些額外的職責。就增加個來說,裝飾模式比生成子類更為靈活。

所以,我們可以在需要透明而且動態地擴充套件類的功能時,所以裝飾模式。

1 建立乙個被裝飾的原始物件,也可以是介面還在抽象類:

package decoratorpattern;

public abstract class component

}3 建立乙個抽象裝飾者:

package decoratorpattern;

public class decorator extends component

@override

public void operate()

}4 建立裝飾著的具體實現類,做具體的實現;

package decoratorpattern;

public class concretdecoratora extends decorator

@override

public void operate()

public void operatea()

public void operateb()}以及

package decoratorpattern;

public class concretdecoratorb extends decorator

@override

public void operate()

public void operatea()

public void operateb()

}5 測試執行的效果:

package decoratorpattern;

public class client

}

Java 設計模式 20 裝飾模式

package cn.et 遠端 public inte ce rangedweaponpackage cn.et 炮public class cannon implements rangedweapon package cn.et 槍public class gun implements rang...

Java設計模式之裝飾模式

裝飾模式是在不必改變原類檔案和使用繼承的情況下,動態的擴充套件乙個物件的功能。它是通過建立乙個包裝物件,也就是裝飾來包裹真實的物件。裝飾模式的特點 1 裝飾物件和真實物件有相同的介面。這樣客戶端物件就可以以和真實物件相同的方式和裝飾物件互動。2 裝飾物件包含乙個真實物件的索引 reference 3...

Java設計模式之裝飾模式

動態的給乙個物件新增一些額外的職責.就增加功能來說,裝飾模式相比生成子類更為靈活.需要透明且動態的擴充套件類的功能時.其中涉及到的角色有 這裡模擬一下人穿衣服的場景,沒錢的穿便宜衣服,有錢的穿貴衣服 首先定義人的抽象類 public abstract class person public clas...