c# - 可以在派生类中覆盖抽象类而不在基类中实现吗

标签 c# oop inheritance

我有一个带有一个抽象方法的抽象类 A

这个类被另一个类 B 继承,它不应该实现抽象方法。

现在另一个类C需要继承类B并实现类A中定义的方法。

我该怎么做?

最佳答案

如果 B 类不打算实现其基类的所有抽象成员,那么您还需要将类 B 标记为抽象类。然后,在 C 类中照常重写。

例子:

public abstract class A
{
    public abstract void DoStuff();
}

public abstract class B : A
{
    // Empty
}

public class C : B
{
    public override void DoStuff()
    {
        Console.WriteLine("hi");
    }
}

关于c# - 可以在派生类中覆盖抽象类而不在基类中实现吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11400505/

相关文章:

java - 定义中的初始化与构造函数中的初始化

c# - 如何在 C# 中生成从库到应用程序的回调(事件)

oop - "Is a"和"Has a": which one is better?

c# - 如何提高 Windows Phone 8 map 控制性能

c# - 用波浪动画填充椭圆

c# - 计算测量转换

c++ - 为什么 static_cast 为同一对象提供不同的内存位置?

c# - 使用 ToHashCode 将哈希存储在数据库中?

php - 如何使用变量作为对象?

c++ - 我怎样才能防止这种在 C++ 中的转换