此贴终结,NeedBsae.GetLevel()是一个虚方法,而在类MindStateNeed中重写了虚方法GetLevel(),所以int level = this.GetLevel();实际上调用的仍然是MindStateNeed.GetLevel(),实现的是多态性。
lz m没系统学过c#,沾点皮毛就拿出来说是这样的
,这里得向大家说声对不起了
我在查看心境怎样影响修炼速度的代码时发现,这里面的代码用的也是NeedBase.GetLevel(),看到这我就感觉是我的问题,然后重新翻了这俩GetLevel()的定义。一个public virtual一个public override,上网一查,结果是子类对父类的重写用法