【发布时间】:2019-01-24 19:07:32
【问题描述】:
我有这样的事情:
class powerup {
public static int cooldown = 1;
}
class freeze : powerup {
//some unrelated code
}
class burn : powerup {
//unrelated
}
我想为冻结和燃烧通电的冷却时间设置不同的值,并且以静态方式,因为我无法在我设置冷却时间的地方实例化它们,而且拥有它们也更有意义静态的,因为它们是独一无二的。所以我觉得我需要用“new”覆盖冷却时间,但感觉不对。有什么我不知道的解决方案吗? 提前致谢
【问题讨论】:
-
你不能实例化冻结或烧录?没有构造函数?
-
我可以,但在我当前的代码库中没有任何意义(那些是用 Unity 和 MonoBehaviours 制作的)......我真的很想保持这部分静态,因为每种类型只有一个实例通电。
-
如果它是使用 IOC 创建的,仍然会调用默认构造函数。你可以在里面添加初始化。
标签: c# inheritance static