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

时间:2015-03-25 10:45:23

标签: java arrays variables object primitive

我在编程方面相当新鲜,我尝试制作简单的应用程序。应用程序将允许用户为流行的RPG游戏制作角色表。现在我试图对它进行建模(在纸上)并且有(可能是一个愚蠢的)问题。

每个角色都有一套技能 - 很多(33)。每个技能手杖的值都是0-5。现在我的问题是:是否更好地制作33个英寸的角色对象或制作类技能并制作角色技能数组?我对Java的了解并不足以决定:(如果有人找到一些有用的文章,或者只是简单地向我解释,我将不胜感激。

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

4 个答案:

答案 0 :(得分:1)

如果您拥有固定数量的技能,您可以使用多个属性,在使用时会提高可读性,但会使您的课程变得有点丑陋且难以理解。

如果值始终为int,我建议您使用Map代替arrayCollection

Map<String, Integer> skills;

所以你可以拥有一个具有良好声明的类,并通过名称而不是数组中的位置来引用技能:

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

答案 1 :(得分:0)

我绝对建议您创建一个特定的技能课程。今天你使用0到5的整数;但是这样的事情往往会变得更加复杂。

因此,您应该事先仔细设计“技能”课程(您可能还会考虑使用技能界面;因为您可能需要在将来的某个时间点(针对不同的技能类型)进行不同的实施)。

您的角色类可以使用动态容器;例如java.util.ArrayList来保存所有各种技能。

答案 2 :(得分:0)

制作班级技能可能更好,因为这样你就可以确保每项技能都有名字和价值。然后,您还可以执行诸如创建打印输出或显示名称和值的方法之类的操作,如果您想为技能添加其他属性,则相当容易。

答案 3 :(得分:0)

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