为什么接口变成抽象 类 c#

Why are interfaces turning into abstract classes c#

老实说,我在这里寻找很好的例子来说明使用接口而不是抽象的原因。我能看到的主要原因是它们是供 classes 遵循的不拘一格的 public 蓝图。但是随着他们添加默认实现,情况就不再如此了。越来越难以区分接口和抽象 classes。在 c# 11 中使用抽象 class 接口的真正意义是什么。它只是一个较慢的抽象 class.

连我都觉得抽象类和接口太相似了。我更喜欢使用抽象 类,因为可以定义它的方法,直到并且除非使用了多重继承的概念。

与抽象 类 的情况一样,我们不能继承多个抽象 类,而对于接口,您可以继承任意数量的接口。

我会通过一段代码让你明白这一点。

interface IFirstInterface
    {
        void myMethod();
    }
    interface ISecondInterface
    {
        void myOtherMethod();
    }
    class Democlass : IFirstInterface, ISecondInterface
    {
        public void myMethod()
        {
            System.Console.WriteLine("Some text..");
        }
        public void myOtherMethod()
        {
            System.Console.WriteLine("Some other text..");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Democlass myObj = new Democlass();
            myObj.myMethod();
            myObj.myOtherMethod();
        }
    }

如果您觉得不清楚,请告诉我。