場景:遊戲修改器
描述:角色的級別太低,技能也弱,但關卡難度太大。往往一上來來不及回血,或遊戲設定回血太慢。這裡用遊戲修改器。
(一)角色
public
abstract
class
role
public
int mp
public
int hp
public
abstract
void restoremp();
public
abstract
void restorehp();
}系統預設的回藍系統
restoremp
,回血系統
restorehp
(二)法師角色
public
class
mage:role
public
override
void restorehp()
}正常情況下,每秒回覆藍
10點,血
20點。
(三)裝飾
public
abstract
class
decorator : role
public decorator(role role)
public
override
void restoremp()
public
override
void restorehp()
}(四)
mp修改
//////
mp恢復修改
///public
class
pluginformp : decorator
public pluginformp(role role):base(role)
public
override
void restoremp()
}(五)
hp恢復
//////
hp恢復修改
///public
class
pluginforhp : decorator
public
override
void restorehp()
}(六)測試
public
void testdecorator()
結果:每秒回覆20點mp
每秒回覆10點mp
啟用遊戲修改之後……
修改遊戲:每秒回覆100點mp
修改遊戲:每秒回覆500點hp
如何使「
物件功能的擴充套件
」能夠根據需要來動態地實現?同時避免
「擴充套件功能的增多
」帶來的子類膨脹問題?從而使得任何
「功能擴充套件變化
」所導致的影響將為最低?
動態地給乙個物件新增一些額外的職責。就增加功能來說,
decorator
模式相比生成子類更為靈活。《設計模式》
gof
裝飾模式例項
使用者需求 設計思路 1.uml圖 2.採用裝飾模式動態地給乙個物件新增一些額外的功能,就擴充套件功能來說,提供了比繼承更具彈性的替代方案。具體 實現 1.抽象元件 moilephone類 using system using system.collections.generic using sys...
模式例項之 職責鏈例項
場景 白眉大俠與江湖 描述 江湖綠林道與開封府。小嘍兵與小寨主,小七傑可以辦案。俠客要小五義。劍客要劍客對付。一 開封府 public abstract class kaifentfu public abstract void handle lulin lulin 二 小七傑,小五義,小五義老師 p...
裝飾者模式及其簡單例項
咖啡店裡咖啡中可以加不同的配料 摩卡 牛奶 糖 奶泡 不同的飲品加上不同的配料有不同的價錢,怎樣實現呢?可能你的第一印象會想到使用繼承,1.首先定義乙個咖啡基類 2.對於加糖的,加牛奶的,加摩卡的 加奶泡的,分別寫乙個子類繼承 3.對於加糖,又加奶的寫乙個類,對於對於加糖,又摩卡的寫乙個類,對於對於...