裝飾模式(Decorator)

2022-02-03 10:36:00 字數 752 閱讀 5289

1/*2

*「喜羊羊逃命」遊戲:喜羊羊被灰太狼追,喜羊羊最多5條命,灰太狼每咬到喜羊羊一

3* 次,喜羊羊就要少一條命。在逃的過程中喜羊羊可以吃到三種蘋果,吃「紅蘋果」可

4* 以給喜羊羊加上保護罩,吃「綠蘋果」可以加快喜羊羊奔跑速度,吃「黃蘋果」可以

5* 使喜羊羊趟著水跑。應用裝飾模式,用c#控制台應用程式實現該設計。6*/

7using

system;

8using

system.collections.generic;

9using

system.linq;

10using

system.text;

1112

namespace

decorator

1319}20

class

buff : xiyangyang

2127

public

override

void

show()

2833}34

}35class

protectbuff : buff

3642}43

class

fastbuff : buff

4450}51

class

swimbuff : buff

5258}59

class

program

6077

}78 }

裝飾模式 Decorator

裝飾模式 decorator 動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更加靈活。其中component定義了乙個物件介面,可以給這些物件動態的新增職責 concretecomponent是定義了乙個具體的物件,也可以給這個物件新增一些職責 decorator裝飾抽象類,...

Decorator 裝飾模式

定義 動態的給乙個物件新增一些輔助功能,而不改變原有的類。案例 假如現在有個文字控制項textview,它可以在螢幕上顯示文字,但當文字過多的時候,乙個螢幕顯示不下,這時就需要給它新增乙個滾動條。給乙個視窗加乙個滾動條不是原有的功能,而是額外的功能,比如還可以加乙個黑色外框,而且這些操作不是為某乙個...

裝飾模式 Decorator

裝飾模式 decorator 1.裝飾模式 decorator 的定義 又名包裝 模式,裝飾模式以對客戶端透明的方式擴充套件物件的功能,是繼承關係的乙個替代方案。2.裝飾模式以對客戶端透明的方式動態的給乙個物件附加上更多的責任。換言之客戶端並不會覺的物件在裝飾前和裝飾後有什麼區別。3.裝飾模式可以在...