C#在声明它的类中调用抽象方法是不好的做法吗?

时间:2014-01-25 10:34:56

标签: c# events inheritance abstract

我有一个更新方法,我需要在动画完成时检查以及刚完成的动画。

我的Abstract类中的代码如下所示:

    //Checks if we need to restart the animation
    if (currentIndex > sRectangles.Length-1)
    {
        AnimationDone(aniName);
        timeElapsed = 0;
        currentIndex = 0;
    }

AnimationDone()是一个抽象方法,如下所示:

 public abstract void AnimationDone(string name);

继承自抽象类并实现抽象方法的类中的代码如下所示:

public override void AnimationDone(string name)
{
    if (name.Contains("Attack"))
    {
        Attacking = false;
    }
}

因此,每当动画结束时,我的AnimationDone都会被调用。这完全符合我的要求,但我想知道这是不好的做法。 '如果创建一个每次动画结束时都会触发的事件更为正确。然后在我的Child类中创建一个侦听此事件的新方法。

1 个答案:

答案 0 :(得分:5)

您所做的事实上被称为Template Pattern,并且是众所周知的软件设计模式。所以我不担心它!

相关问题