为什么要使用抽象类来创建类库
Why should an abstract class be used for creating a class library?
何时以及为什么使用抽象类/方法?
在创建将广泛分发或重用的类库(尤其是对客户端(时,优先使用抽象类而不是接口;因为它简化了版本控制。这是开发基类库的Microsoft团队使用的做法。(COM 是围绕接口设计的。使用抽象类为一系列类型定义公共基类。使用抽象类提供默认行为。子类 只是该类在逻辑上所属的层次结构中的基类。
我不明白上面引用中的解释。请解释为什么应该使用抽象类来创建类库?
你应该非常仔细地阅读这类文章。据我了解,本文的主要部分专门介绍 c# 语言。就这种语言而言,接口和抽象类之间存在很大差异。例如,就 C# 语言而言,接口只是一组"纯"虚拟方法(它们不能在接口中具有定义,只有类才能实现它(。接口不能有构造函数。抽象类可以有构造函数。此外,c#不支持多重继承(与c ++语言相反(。通过这种方式,c# 接口和抽象类看起来与 c++ 的非常不同。
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 在其他文件中创建类时在 c++ 项目中不起作用
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- 使用循环创建类对象
- C++无法创建类的实例
- 如何在另一个类中创建类的实例?
- 在堆栈上创建类实例
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 创建类类型的动态分配数组,其中类不得具有默认构造函数
- QBS 为静态链路 MSVC 创建静态库
- Cmake 找不到创建的库 (libgps)
- 需要帮助才能在C++中创建类计数器
- 如何使用 GCC 编译器优化创建静态库?
- 在创建共享库时,是否可以明确地排除某些类
- 如何在Arduino中创建另一个类库的实例变量
- 为什么要使用抽象类来创建类库
- 在没有库的一个标头文件中创建类和功能
- 在类库项目中创建模板类C++
- 使用模板类来避免创建静态库是一种好的做法吗