gpt4 book ai didi

java - 如何确定对象类型而不迭代所有可能的类型?

转载 作者:行者123 更新时间:2023-12-02 03:29:15 30 4
gpt4 key购买 nike

我有大量的类集合。这些类具有相似的属性名称,但具有不同的值。例如,我有矛兵剑士。这两个类具有相同的属性名称,但具有不同的值。现在。假设我还有另一个类。 实体。我如何调用类的构造函数并指定实体应该是哪种类型的单元,而不通过一系列 if 语句来决定 object 是否更具体地是 Swordsman 类型> 或类型 Spearmen 或 ... 通过我所有的类(class)。

我可以制作一个简单的可运行示例,但我不确定是否有必要,正如我在上面解释的那样

最佳答案

我可以建议你做的是创建一个基类,我们称之为英雄

public class Hero
{
public HeroType Type { get; set; }
public int Power { get; set;}

public Hero(HeroType type, int power){
this.Type = type;
this.Power = power;
}

....
}

然后创建英雄类型的枚举:

enum HeroType{
Spearmen,
Swordsman,
...
}

每次你创建一个新英雄时,你只需要像这样指定他的类型

Hero swordsman = new Hero(HeroType.Swordsman,50)

这样您就不需要创建多个类,并且可以将所有对象保存在同一个集合中,因为它们都来自相同的基类型。

如果您需要一个具有更多属性的特殊英雄,您可以创建一个从 Hero 基类继承的新类。

关于java - 如何确定对象类型而不迭代所有可能的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38315524/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com