私は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()」を呼び出すことができます。「IWork」インターフェイスから派生した「MyClass」に「func()」メソッドを実装するようにコンパイラが強制しないのはなぜですか?それは C# の欠陥ですか?