我正在製作像遊戲一樣的模擬遊戲,現在我正在試圖弄清楚我將如何構建我的對象。如何正確地創建遊戲對象
現在我想創建一個名爲遊戲物體類的僞低於
public class GameObject {
name:String
width:int
height:int
}
這樣我就可以創建灌木,樹木和建築物的對象。但後來我開始思考。如果我想創建多個相同類型的建築物和樹木,該怎麼辦?我將不得不繼續製作GameObject的實例並給它一個新的名稱,高度和寬度。這些屬性必須是相同的值才能複製一個對象。這似乎有點乏味。然後我想,也許這不是正確的路。所以我在想,我將不得不延長遊戲物體像下面
public class Tree extends GameObject{
birdHouse:Boolean
}
public class Building extends GameObject{
packingGarage:Boolean
stories:Number
}
public class House extends GameObject{
garage:Boolean
stories:Number
}
現在這樣,我就可以創建房子,還是樹的多個實例,而不產生指定它確實是一個房子或樹的性質。這看起來更合乎邏輯,但同時它似乎分配更多的內存,因爲我正在創建更多的類。
我只需要知道處理像這樣的對象的最佳實踐。如果有人能幫我解決這個問題。同樣,如果你知道任何資源來減少遊戲或任何應用程序的負載的最佳做法。我也想使用接口。第二個概念似乎更合理,我在想,我父執行類似下面
public class GameObject implement IGameObject {
name:String
width:int
height:int
}
現在這樣,我可以創建具有鬆散接受的方法的類可以接受任何類型的遊戲對象繼承一個接口。
Selector.loadObject(gObject:IGameObject);
取決於它是什麼類型(即樹,建築物,房子),我可以使用一個case語句來找出哪些類型,它和相應的評估。
我也創建了一個Tile Class,它將通過loadObject方法。它也將是GameOject類的一個孩子。如果case語句發現它是Tile類型,它會根據鼠標結束的情況高亮顯示任何Tile。
我的第二個問題是,如果一個類繼承了一個實現接口的類,那麼該類的子類也被認爲是一個IGameObject。還是必須直接實現該接口?
所有這些聽起來像是我正朝着正確的方向前進,就組織而言。
感謝您的幫助,謝謝你們!