面向对象三大特性
封装:将具体的实现过程和数据封装成一个函数,只能通过接口访问,降低耦合性
继承:子类继承父类的特征和行为,子类有父类非private方法或成员变量,子类可以对父类的方法进行重写,增强了类之间的耦合性,但是当父类中的成员变量、成员函数或者类本身被 final
关键字修饰时,修饰的类不能继承,修饰的成员不能重写或修改。
多态:多态就是不同继承类的对象,对同一消息做出不同的响应,基类的指针指向或绑定到派生类的对象,使得基类指针呈现不同的表现方式。在 C++ 中多态一般是使用虚函数来实现的,使用基类指针调用函数方法时,如果该指针指向的是一个基类的对象,
则调用的是基类的虚函数;如果该指针指向的是一个派生类的对象,则调用的是派生类的虚函数。
重载、重写、隐藏的区别
重载:发生在同一个作用域中,函数名称相同,但参数的类型,个数,顺序不同(即参数列表不一样),不关心函数返回值
int temp(int a)
void temp(int a)
这俩不发生重载,不被允许
隐藏:非虚函数,派生类中与基类同名的函数和成员变量都被隐藏,如需要访问则需要加上基类作用域
重写:基类的虚函数在派生类中进行重写,函数名、参数列表、返回值类型都必须同基类中被重写的函数一致,只有函数体不同。
标签:函数,子类,基类,C++,面向对象,派生类,重写,指针 From: https://www.cnblogs.com/cintang/p/17380192.html