1.面向对象程序设计有4个主要的特点:抽象、继承、封装、多态。
2.类和类之间的关系:包含关系;使用关系;继承关系。
3.继承的重要说明:
子类拥有父类的所有成员变量和成员函数;
子类可以拥有父类没有的成员方法和属性;
子类就是一种特殊的父类;
子类对象可以当作父类对象使用;
4.继承中的类型兼容性原则:
兼容性原则是指在需要基类的任何地方,都可以使用派生类对象来代替;通过公有继承派生类获得了基类中处构造函数、析构函数外的所有成员;
这样派生类就具备了基类的所有功能,凡是基类能解决的问题,派生类都能解决。
4.在继承和组合混搭的情况下,构造函数和析构函数的调用顺序:
先调用老祖宗的构造函数,再调用父类的构造函数,再调用成员类对象的构造函数,最后调用自己的构造函数。
先调用自己的析构函数,再调用成员类对象的析构函数,再调用父类,再调用老祖宗的析构函数。
5.继承中的同名成员变量和成员函数
在测试函数中修改/调用同名成员变量,成员函数,则默认情况下修改的是子类;
6.继承中的static关键字
基类定义的静态成员,被所有的派生类共享;
静态成员的访问控制,仍遵循普通成员继承的访问控制原则;
类中的静态成员在类中声明式没有分配内存的,必须在类的外部初始化的同时分配内存;
构造函数定义除了在单例模式下,其它的情况下都应该定义为public访问属性;
7.多继承:同时继承几个类的成员变量/属性
多继承的二义性:通过virtual关键字实现虚继承,解决继承的二义性。
原文地址:https://www.cnblogs.com/jefy/p/9416870.html
时间: 2024-10-07 16:17:05