我实际上正在寻找有关该主题的一般答案或信息链接,但我认为这个问题最好通过一个具体示例来说明:
前任。1:
class Car {
}
class Sedan extends Car {
}
// ... etc. where 10+ classes will extend Car
前任。2:
class Car {
public enum CarId {
SEDAN,
COUPE,
// ...
}
public Car(CarId id) {
//...
}
}
假设在这种情况下,Sedan、Coupe 等不会提供更多的复杂性(可能是单个字段,可能为空也可能不为空;也就是说,有些人会使用但其他人不会使用的字段)。
它们分别在什么情况下使用?问题的哪些具体特征将决定使用哪个?具体来说,为什么要使用第二个而不是第一个。 我看不出这是多么含糊,以至于需要投反对票。这个问题没有问什么是继承或什么是枚举。提供否决票的理由。
未能展示研究成果:
这是非常具体的,我问的唯一原因是因为我无法在谷歌上搜索该示例。如果是这个原因,至少提供一个信息来源。
Vague:
非常具体。
有用的:
我面临可以同时使用两者的情况。我可以使用一些关于我应该寻找什么来决定的信息。