我的课程很少
class A;
class B;
class C;
class D;
类B,C,D继承自A.在我的问题中,我有多个类B,C,D,并且每个类都有一个静态字段,例如
static int gold;
A类是抽象类,它有方法getGold();
当然每个B,C,D类都有自己的静态字段
static int gold;
并且在每个班级(B,C,D)中我以相同的方式实施
getGold()
{
return gold;
}
这是副本&粘贴,但我不知道如何使它更好。
例如,B,C,D
同一个类的每个对象都是相同的,所以这就是为什么我只想要一个int当然这只是一个例子而不是int我可以在那里例如类Gold实例:)
答案 0 :(得分:1)
如果不需要更改,请使用枚举值。
无论如何,返回黄金并不是一个坏主意。如果它更复杂,您可以使用CRTP。从A继承的辅助模板和实现获得黄金。
您将B in作为模板参数传递,然后从中继承B.模板的方法可以静态地将其转换为B并使用B的状态。
对谷歌而言,CRTP非常容易。
请记住,返回黄金可能是最好的。