C++OOP(object-oriented programming)
1.C++ OOP核心思想
数据抽象、继承和动态绑定(有时又被称为运行时绑定(run-time binding))。
1.1 数据抽象
可以将类的接口与实现分离
1.2 继承(inheritance)
可以定义相似的类型并对其相似关系建模。
1.3 动态绑定(dynamic binding)
可以定义相似的类型并对其相似关系建模。
当使用基类的引用(或指针)调用一个虚函数时将发生动态绑定。
2. OOP三大特性
封装、继承、多态。
2.1 封装
封装可以隐藏实现细节,使得代码模块化。
封装的意义:
1.将属性和行为作为一个整体
2.将属性和行为加以权限控制
2.2 继承
继承可以扩展已存在的代码模块(类);它们的目的都是为了——`代码重用`。
继承是指这样一种能力:使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
其继承的过程,就是从一般到特殊的过程。
继承的实现方式?
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
1. 实现继承是指使用基类的属性和方法而无需额外编码的能力;
2. 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
3. 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。
2.3 多态
多态则是为了实现另一个目的——接口重用
。
多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,
赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。
简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
实现方式:
覆盖:是指子类重新定义父类的虚函数的做法。