为什么要使用抽象类来创建类库?

时间:2017-03-23 07:53:48

标签: c++ oop

When and Why to use abstract classes/methods?

  

在创建将广泛分发或重用的类库时 - 特别是对客户端,使用优先于接口的抽象类;因为,它简化了版本控制。这是开发基类库的Microsoft团队使用的做法。 (COM是围绕接口设计的。)使用抽象类为一系列类型定义公共基类。使用抽象类来提供默认行为。子类只是类逻辑上所属的层次结构中的基类。

我不明白上述引文中的解释。请解释为什么要使用抽象类来创建类库?

1 个答案:

答案 0 :(得分:2)

你应该仔细阅读这类文章。正如我所理解的那样,文章的主要部分是致力于c#语言。就这种语言而言,接口和抽象类之间存在很大差异。例如,就c#语言而言,接口只是设置为" pure"虚方法(它们不能在接口中定义,只有类可以实现它)。接口不能有构造函数。抽象类可以有构造函数。而且,c#不支持多重继承(与c ++语言相反)。通过这种方式,c#接口和抽象类看起来与c ++的一个

非常不同