2010-02-14 191 views
0

我正在完成一個小型項目,一個iPhone遊戲。我應該在這種情況下真的做出子類嗎?

我一直在擴大我的GameObject類,以包括通電和地雷。這些在物理上是相同的。

昨晚我想出了製作GameObject兩個子類的天才想法。它們每個都不到一百行。在迭代GameObjects列表,在NSStrings和類之間進行轉換等時,我還必須做類似將它們投射到它們各自的子類的東西。

現在我剛剛擺脫了這些類,並添加了一個int(ID)和NSString(type)到我的類。這實際上是目標所需的所有信息,迄今爲止效果很好。

這是否違背了一些明顯的面向對象,或者這對於如此之小的事情來說是正常的嗎?或者我應該一起做一些不同的事情?

回答

5

我也有做的東西一樣將它們轉換成相應的子類迭代GameObjects

爲什麼列表時?

如果你必須這樣做,你並沒有真正的面向對象設計。

+0

匿名是對的,問題出在你的模型上,你根本不應該投擲 – Pedro

+0

有一個函數返回一個玩家選擇的所有GameObjects數組。 我遍歷這個GameObjects列表。 我不需要,但如果我不這樣做,會有警告。 – user162400

+2

是的,這個想法是將對象視爲一個遊戲對象,而不必知道它是一個子類。 此外,我讀過的大部分內容都表明,您應該謹慎使用繼承,僅在需要時才使用繼承。在適當的情況下使用其他方法(例如,您提到的組合或實例變量)沒有任何問題。 –

相關問題