我有一个名为BaseMonster的抽象类。这个“基础”类包含几个值,例如float dyingTime = 2,对于所有怪物子类都是相同的。但是因为有很多像这样的值,所以当你“新”怪物时我不想把它们传递给对象调用。
所以我的问题是:对于继承自BaseMonster的子类Ghoul,如何从BaseMonster中提取dyingTime的值?
编辑:为了澄清,我需要在Ghoul中拥有这些值,以便运行与常规BaseMonster不同的某些移动计算。
答案 0 :(得分:0)
你应该研究继承的概念(BaseMonster是Ghoul的基类)和访问修饰符,它们管理从哪里可以访问哪些字段,方法和属性。
您可以找到所有访问修饰符here
另见这个简单的例子:
public class Base
{
private float a;
protected float b;
public float c;
}
public class Sub : Base
{
public void DoSomething()
{
float x = base.a; // Error cannot access private member a
// Note that putting base before b and c here is optional
// though it does help with naming conflicts
// if Sub would also have a member b you could differentiate the two
// using this.b and base.b
float y = base.b; // Works
float z = base.c; // Works
}
}