- 由于C++没有JAVA中的接口这一功能,所以通过含有纯虚函数的抽象基类来实现公共接口的功能,在接口类中只有函数原型的定义,没有任何数据和操作的定义。纯虚函数的定义如下所示:
virtual void show_area() = 0;
- 通过抽象类的 纯虚函数 接口约定 (公共界面的约定)来实现具体的业务模型的填充(比继承这种代码复用的方式,更高一个级别的,属于框架接口的设计)。
- Figure作为抽象类,含有纯虚函数show_area(),作为公共的接口。
- 子类继承抽象基类Figure后,只有将抽象基类Figure内的纯虚函数全部实现之后,才能实例化对应的子类对象。
- 同样的,和一般的基类相同,抽象类作基类时,也可以定义普通的成员函数和成员变量,但是子类中,必须根据子类自身具体的业务需求实现抽象类中的纯虚函数。
- 代码如下:
#include <iostream> using namespace std; //通过抽象类的 纯虚函数 接口约定 (公共界面的约定)来实现具体的业务模型的填充 //(比继承这种代码复用的方式,更高一个级别的,属于框架接口的设计) //Figure作为抽象类,含有纯虚函数show_area(),作为公共
C++中利用纯虚函数提供公共接口,进行代码框架设计的使用
最新推荐文章于 2022-12-18 12:35:24 发布