我在 C#.NET 中编写了以下代码
public interface IWork
{
void func();
}
public abstract class WorkClass
{
public void func()
{
Console.WriteLine("Calling Abstract Class Function");
}
}
public class MyClass:WorkClass,IWork
{
}
在编译时,我没有收到任何错误。编译器不会强迫我实现方法“func();” 在从接口“IWork”派生的“MyClass”中,我可以优雅地创建“MyClass”类的实例并调用函数“func()”。为什么编译器不强迫我在“MyClass”中实现“func()”方法(它是从“IWork”接口派生的?它是C#中的一个缺陷吗?