我对Java的OOP理论还不熟悉,但我有这个问题
我自己做了一些东西,我想为包含不同东西的游戏创建一个库存,比如食物,药水,武器,盔甲,配件等,所以我决定使用任何一个阵列或ArrayList
为此。
当我听到ArrayList
使用<>
中的类作为参数时,我想到了一件事。如果我拥有一把属于它自己的剑,然后我有一个药水,如果它自己也是一个,那么它们将无法在同一个ArrayList
中使用,对吧?
但如果剑和药水都是一个叫做#34;对象&#34;它封装了多余的方法(我的意思是他们共同拥有的一切),然后子类只需要专门处理某些事情,比如魔药治疗,剑会增加伤害。然后,如果我将ArrayList
定义为使用Object
类型的类,那么ArrayList
会欢迎剑和药水项目进入列表吗?一个班级可以从其他人那里继承多少次?有限制吗?
答案 0 :(得分:1)
你没有遇到任何限制。创建一个名为InventoryItem的顶级类,并从中继承。还要考虑使用List接口和ArrayList作为实现。它可以比数组更容易使用,因为您可以添加/删除项目而不必担心空插槽。我可能会创建一个名为Inventory的类来隐藏数组。