【发布时间】:2013-09-24 21:57:35
【问题描述】:
我在做某种研发,对抽象类的概念感到困惑。
我对抽象类的了解是它可能包含具体方法,也可能包含虚拟方法。它可能包含也可能不包含抽象方法,并且可能包含字段并限制实例的直接创建。
但是我们可以在一个简单的基类中实现所有这些(添加虚拟方法会做很多事情,因为具有不包含实现和覆盖的虚拟方法的基类与抽象方法相同)。那为什么我们需要一个抽象类,虽然接口支持多继承和事件呢?
【问题讨论】:
-
StackOverflow 标签“abstract-class”和“base-class”也有很好的参考定义,以区分抽象类和基类,即使抽象类没有任何抽象方法.... ............抽象类是不能被实例化的类。它们的存在是为了为几个具体的类提供通用的功能和接口规范。......在面向对象编程中,基类是其他类继承的基类。例如,一个子类
Male和另一个子类Female可能都继承自基类Human。
标签: c# .net abstract-class base-class