在SimpleApp教程中,作者將他所有的代碼放在一個類文件中。雨水和水桶在裏面。我會如何將代碼移到不同的類中?
我試着把代碼放到另一個類中,但之後我的代碼中會有重複的方法,並且邏輯上它會不正確。例如,我在遊戲中不能有兩種創建方法。
我怎麼會拿雨或桶從tutorial,並把它分成不同的類?
在SimpleApp教程中,作者將他所有的代碼放在一個類文件中。雨水和水桶在裏面。我會如何將代碼移到不同的類中?
我試着把代碼放到另一個類中,但之後我的代碼中會有重複的方法,並且邏輯上它會不正確。例如,我在遊戲中不能有兩種創建方法。
我怎麼會拿雨或桶從tutorial,並把它分成不同的類?
這很簡單:你可以從OOP風格的編碼中受益:
只需使用超類RainBucket
,其中包含所有方法,每個方法的代碼最少。
從這個超類擴展的其他兩個類,並在它重寫你的類要使用的方法,這樣你會acomplishing以下OOP規則:
傳承:當您從超級派生其他類的兩個對象:
class Bucket extends RainBucket {
class Rain extends RainBucket {
多態性:你可以聲明兩個對象從相同的超類 但作爲值就像 這個分配給兩個不同的派生類:
RainBucket bucket = new Bucket()
和
RainBucket rain = new Rain()
我認爲我做了繼承權,但我不明白這種多態性。我創建了
在此處發佈代碼。 – GingerHead 2012-04-26 05:47:47
'RainBucket bucket = new Bucket(); \t RainBucket rain = new Rain(); \t @Override \t公共無效創建(){ \t \t雨(); \t \t Bucket(); \t} \t @Override \t公共無效渲染(){ \t \t雨(); \t \t Bucket(); \t}'這是在主類 – Blue 2012-04-26 13:38:58
你會抽象出共同的功能集成到一個Abstract class或Interface,然後同時擁有雨水桶從類繼承。
因此,對於您的特定示例,請通過這兩個類,找到所有常用函數並將它們抽象爲超類。
你的問題是不是很clear.Can粘貼代碼你想轉移到一個單獨的課程。您應該始終通過IDE中提供的重構工具來移動代碼。 – Edge 2012-04-25 16:14:44
它在一個類中的所有一個,向下滾動到底部,你會看到我的意思 – Blue 2012-04-25 16:29:23
它是反對SO規範談論代碼不存在這裏的問題。 – 2012-04-25 16:37:14