在重写方法中修改变量会将其重置为false

本文关键字:false 方法 重写 修改 变量 | 更新日期: 2023-09-27 18:01:39

我有一个抽象类:

public abstract class HitableAbstract : MonoBehaviour
{
    public float TimeLeft;
    public abstract bool OnHit();
}

和继承这个类的子类:

public class Target : HitableAbstract
{
    bool isHit = false;
    public override bool OnHit ()
    {
        if (!isHit)
        {
            isHit = true;
            return (true);
        }
        return (false);
    }
}

然而,在调用onHit之后,isHit仍然是false。这是我应该知道的抽象类的某种行为吗?

在互联网上,我只能在override方法中找到get。没有作业. .

在重写方法中修改变量会将其重置为false

你可能会点击一个变量,并使用Unity检查器检查另一个变量的状态。

你发布的代码是正确的,没有抽象类的"隐藏"行为。