我是新來的面向對象的編程,我很努力地想到OOP。如何動態添加方法到一個類
我想做的是一款RPG遊戲。
我有英雄類(用戶) 它有這樣的屬性:名稱,hair_style,權力。 以及這些方法:說,攻擊,辯護
我想動態地添加更多的方法(法術),因爲英雄學習更多的法術。
我不知道這樣做的最佳方式是什麼。我可以想到以下幾點:
創建一個類「咒語」,每個魔法咒語有一個類從它延伸,並添加到英雄類型'咒語'(必須是數組)的屬性。 當英雄嘗試使用某些法術時,必須嘗試整個陣列以查看是否存在這樣的魔法(方法)。 (可能是錯的)
你是怎麼做到的? 泰
你能想到的每一個法術/水平作爲附加到你的英雄對象的新功能的對象。所以這個方法會被附加到那個。只要他們可以做的動作數量不變,就可以有一個接口來描述所有的功能。的 – Garvin
可能重複的[是否有可能動態地添加到代碼/擴展類?](http://stackoverflow.com/questions/4668822/is-it-possible-to-dynamically-add-code-to-extend-一類) – outis