我正在創建一個數據系統來容納遊戲的各種項目,我不確定哪種組織風格更有效。例如,我有一個Item類,它會使Weapon的一個子類和Melee的另一個子類擴展武器的效率比在Item類中創建多個變量的效率更高或更低,該變量保存它是武器還是裝甲或其他如果它是近戰或遠程或頭盔..等等。或者這些組合是否高效並且組織得很容易靈活操作?在Java中使用子類和變量的高效類組織
0
A
回答
1
這個問題很廣泛,但一般來說最好是製作子類,而不是在一些基礎條目中存儲過多的變量。
從基地開始,一路順風。
public class Item {
private String name;
...
}
public class Weapon extends Item {
...
}
public class Melee extends Weapon {
...
}
public class Ranged extends Weapon {
...
}
這樣,您就可以定義之類的東西
public class Dagger extends Melee {
...
}
,你會不會擔心定義字段通用於所有項目,如一個名字。
它不會對設計問題有所幫助,但是因爲它是一款遊戲,所以如果您還沒有參與遊戲,您可能還需要查看Lightweight Java Game Library。
0
假設所有項目的屬性都是相關的(它們都具有durability
屬性),那麼有一個存儲和處理該屬性的父類是有意義的。同樣,如果所有武器都是相關的(它們都具有damage
屬性),那麼有一個存儲和處理該類的父類是有意義的。
由於似乎有很多項目之間的關係,你應該創建子類而不是嘗試並按情況做。這也可以讓你改變如何處理父母的屬性(一種更高效,更準確的算法)在一個地方,而不是幾個。
相關問題
- 1. Java大類組織
- 2. Java類子類變量引用
- 3. Java類的繼承組織
- 4. C++中的抽象類和類組織
- 5. 在Java的子類中使用父變量的擴展版
- 6. 在整個Java類中使用變量
- 7. 在Java中改變類型的子類
- 8. Java-在抽象類中使用常量,需要子類使用
- 9. 在Java中,爲什麼在父類和子類中聲明的變量在子類的實例中不可見?
- 10. 如何組織和組織嵌套類
- 11. 如何使用子類修改父類變量並在java的另一個子類中使用
- 12. Java,使用類中的變量
- 13. Java中的異常類組織
- 14. 在Java中傳遞從父類到子類的變量
- 15. 在子類中未實例化的類變量Java
- 16. 使在子類中的變量波動,在Java
- 17. 在超類中使用子類的靜態變量
- 18. Java如何使用子類的某個函數()中的變量?
- 19. 在python中組織類和模塊
- 20. 在Ruby中組織類和對象?
- 21. 的Java類的變量和Python中
- 22. 在父類中獲取子類變量
- 23. 在子類中聲明類級變量
- 24. 在超類中聲明子類變量
- 25. 在父類中讀取子類變量
- 26. 在類和子類中的Java屬性
- 27. Java將子類組織到不同的文件夾中
- 28. 在Java中爲子類變量指定父類
- 29. 在java中將子類變量強制轉換爲超類
- 30. 瞭解java中的類和變量