C++ 和 Java 不同的是,C++ 没有 interface 关键字。对于很多新手来说,C++ 当中接口的概念不容易像 Java 当中那样被理解。
然而接口是面向对象编程当中的重要组成部分,也是新手需要学习的重要思维,虽然 C++ 并不那么面向对象。
首先,要明确接口的概念:
接口的存在意义是为不同的派生类提供统一的标准,继而实现面向对象编程当中的多态概念。
对象是对客观事物的抽象,类是对对象的抽象。
那么,C++ 当中既然不存在 interface 关键字,那么接口是通过什么方式来实现的呢?
首先要讲两个概念:
一、纯虚函数 (Pure Virtual Function):
1,纯虚函数只有函数名、参数、返回值类型。
2,纯虚函数的定义是在函数句首使用 virtual 关键字修饰,并且在句末增加 "= 0"。
virtual void funtion() = 0;
3,纯虚函数不能包含实现,只有声明,所以纯虚函数不能被调用。
4,定义纯虚函数的目的在于,使每一个派生类都拥有相同的函数规范。