-
什么是接口类?
接口描述了类的行为和功能,而不需要完成类的特定实现。接口类只提供方法的声明,而自身不提供方法定义的抽象类。接口类自身是不能实例化,只能由接口类的子类来完成。 -
接口类的特征
(1)要有纯虚函数接口方法 ,使用virtual 和 “=0”修饰
(2)不要有成员变量,静态变量
(3)可以声明静态变量作为接口的返回值状态,需要初始化
(4)不要声明构造函数
(5)要有虚析构函数,并提供默认实现,从C++11开始,可以使用:virtual ~IDemo() = default; -
接口类范例
class IDemo
{
public:
static const int TRUE = 1;
virtual void test() = 0; // 接口方法
virtual ~IDemo(){}; // 虚析构函数
}
- 设计策略
面向对象的系统可能会使用一个抽象基类为所有的外部应用程序提供一个适当的、通用的、标准化的接口。然后,派生类通过继承抽象基类,就把所有类似的操作都继承下来。
外部应用程序提供的功能(即公有函数)在抽象基类中是以纯虚函数的形式存在的。这些纯虚函数在相应的派生类中被实现。