Che*_*ung -3 .net abstract-class interface
抽象类可以由另一个类继承,并要求人们覆盖抽象函数,抽象属性等.
一个接口也可以由另一个类实现,也需要人们实现函数,属性,索引器等.
我找到的唯一不同是Visual Studio足够聪明,可以自动生成此接口的必要成员.
那么,有什么不同?
谢谢〜
从概念上讲,我看到了一个简单的区别.
界面定义了对类的期望.它声明实现者必须提供某些行为(方法,属性,事件).它没有规定如何类应该工作,只是什么是应该做的.
抽象类是一个无法单独实例化的基类.通常它提供了一个部分实现,可以在从它派生的具体类之间共享.因此,它规定了一个班级应该如何运作.
由于语言限制,这反过来会导致一些实际差异(例如,C#不支持多重继承,除了接口).使用哪种方法取决于您要实现的目标.