面向对象的三大特性:继承、封装、多态。
继承:
举个例子,继承就好比是父亲和儿子,儿子继承了父亲的一些东西,但是自己也有属于自己的东西。
继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程,要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
封装:
举个例子,封装就好比一个插线板,将所有的数据封装在插线板中,里边是什么样子的我们不关心,只暴露出一些借口,来供我们使用。
封装将函数实现的细节隐藏起来,只暴露共有接口,将代码模块化。
C++中的访问标识符,可以实现类中的封装,通常是将所有的成员变量私有化。
虽然看起来访问成员变量不是那么直接,但是代码具有可重用性和可维护性。
多态:
多态是对继承的扩展,将父类的引用指向子类的对象。
多态执行的条件:
- 继承体系
- 子类重写了父类的方法
- 父类引用调用子类的实现