1.重写与重载
重载(同一个函数名实现多种不同方法):在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,
(方法返回值和访问修饰符不同不算重载)
重写(同一个函数名,将之前写的方法覆盖掉):发生在父子类中,方法名,参数列表必须相同。
2.多态
(1)编译时多态是通过重载函数来实现的,根据实参的类型判断调用哪个函数
(2)运行时多态是通过虚函数来实现的
3.虚函数 virtual
使用场景:父类的指针或引用指向父类或者子类对象。
实现条件:虚函数的重写,父类的指针或者引用调用重写的虚函数。
4.总结
封装可以隐藏实现细节包括包含私有成员,使得代码模块增加安全指数;继承可以扩展已存在的模块,为了增加代码的复用性;多态则是为了保证类在继承派生类的时候,类的实例呗正确调用,实现了接口的重用。