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

标签 c# events inheritance 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 类中创建一个新方法来监听此事件。

最佳答案

你所做的实际上叫做Template Pattern ,是一种众所周知的软件设计模式。所以我不会担心!

关于C# 在声明抽象方法的类中调用抽象方法是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21349423/

相关文章:

c# - 数据结构,C# : ~O(1) lookup with range keys?

WPF Window.Close() 不触发 UserControl.Unloaded 事件

C++ 装饰器模式

php - 改进 PHP 中的类结构而不是使用多重继承

c# - 在 XAML 中显示矩阵

c# - double.parse 将两位零小数转换为一位小数

c# - 客户端同步场景下实现SqliteClientSyncProvider?

javascript - fullcalendar 不加载事件

c# - 在 C# 中从设备句柄获取驱动器号

javascript - Node.js 的数据库继承模型