第五十二课 C++中的抽象类和接口
一、抽象类概念
- 可用于表示显示世界中的抽象概念
- 是一种只能定义类型,而不能产生对象的类
- 只能被继承并重写相关函数
- 直接特征是相关函数没有完整的实现
二、抽象类与纯虚函数
-
C++ 语言中没有抽象类的概念
-
C++ 中通过纯虚函数实现抽象类
-
纯虚函数是指只定义原型的成员函数
-
一个 C++ 类中存在纯虚函数就成了抽象类
纯虚函数示例 class test{ public: virtual int virtualFunc() = 0; }; "=0"用于告诉编译器当前是声明纯虚函数,因此不用定义函数体
接口(需要满足下面条件)
- 抽象类只能用作父类,被继承
- 子类必须实现纯虚函数的具体功能
- 纯虚函数被实现后称为虚函数
- 如果子类没有实现纯虚函数,则子类成为抽象类
三、小结
- 抽象类用于描述显示世界中的抽象概念
- 抽象类只能被继承,不能创建对象
- C++ 中没有抽象类的概念
- C++ 中通过纯虚函数实现抽象类
- 类中只存在纯虚函数的时候成为接口
- 接口是一种特殊的抽象类