接口( Interface)

纯接口是指满足下面要求的类:

  1. 只有纯虚函数和静态函数。
    【注】为保证接口类的所有实现可被正确销毁,必须为它声明虚析构函数,且析构函数不能是纯虚函数。
  2. 没有非静态数据成员;
  3. 没有定义任何构造函数。如果有,则该构造函数不含参数,且为 protected;
  4. 如果是子类,也只能继承满足上诉条件并以 Interface 为后缀的类。
    【注】接口类一般要求以 Interface 为后缀,但这不是必须的。以 Interface 为后缀可令他人知道不能为该接口类增加实现函数或非静态数据成员。不过随之而来的问题是,Interface 后缀增加了类名长度,为阅读和理解带来不变。同时,接口特性作为实现细节不应该暴露给客户。

只有在满足上诉需要时,类才以 Interface 结尾,但反过来,满足上述需要的类未必以 Interface 结尾。

接口类不能被直接实例化,因为它声明了纯虚函数。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容