面向对象编程,无疑我们需要比较深刻地了解认识4大特性:抽象、封装、继承、多态。
1.抽象:是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。是一种依赖于接口和实现分离的编程(设计)技术。C++ 类为数据抽象提供了可能。它们向外界提供了大量用于操作对象数据的公共方法,也就是说,外界实际上并不清楚类的内部实现。
2.封装:是一种把数据和操作数据的函数捆绑在一起的机制。C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。
上述抽象和封装特性,实质是在不同层级面描述“类”的特点。
3.继承:依据另一个类来定义一个类,达到了重用代码功能和提高执行效率的效果。值得注意的是C++中是支持多继承的。
4.多态:是在类之间存在继承关联时的“概念”,具体是“基类”定义的虚函数,“子类”需具体重写实现该虚函数。表现为调用成员函数时,会根据调用该函数的类型子对象的不同来执行该子对象的“同名”函数。
上述继承和多态,是当类之间存在层级结构时的特点描述。