繁体   English   中英

自定义对象属性-多个基本变量或对象数组

[英]Custom Object properties - multiple primitive variables or array of objects

我在编程方面很新鲜,我尝试制作简单的应用程序。 应用程序将允许用户为流行的RPG游戏制作角色表。 现在,我试图(在纸上)对其建模,并提出(也许是一个愚蠢的问题)问题。

每个角色都有一套技能-很多(33)。 每个技能手杖的值为0-5。 现在我的问题是:使33个int插入角色对象对象或使Class Skill和使Characters中的技能数组更好? 我对Java的了解不足以决定:(如果有人找到有关它的有用文章,或者可以简单地向我解释一下,我将不胜感激。

我只是希望这不是完全愚蠢的问题:)祝你有美好的一天!

如果您具有固定数量的技能,则可以使用多个属性,使用这些属性将提高可读性,但会使您的课程有点丑陋且难以处理。

如果值始终是int ,我建议使用Map而不是arrayCollection

Map<String, Integer> skills;

因此,您可以拥有一个带有漂亮声明的类,并按名称而不是按数组中的位置来引用技能:

Integer strenghtLevel = skills.get("strenght");

我绝对建议创建一个特定的技能课程。 今天,您使用的是0到5之间的整数; 但是这种事情很快就会变得更加复杂。

因此,您应该预先预先设计“技能”类(您可能还考虑拥有一个“技能”界面;因为将来可能需要面对(针对不同技能类型)不同的实现)。

然后,您的角色类可能正在使用动态容器。 例如java.util.ArrayList可以容纳所有各种技能。

最好使用课堂技能,因为这样可以确保每个技能都有名称和价值。 然后,您还可以执行诸如创建打印或显示名称和值的方法之类的操作,并且,如果您想为该技能添加另一个属性,则非常简单。

您可以使用int元素数组。 除非您需要一些自定义逻辑,否则就足够了。 如果值应该具有状态和动作,则它们应该是对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM