1、定义区别:
①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。
②重写(也叫覆盖)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现不一样。
2、类的关系区别
重写是子类和父类之间的关系,是垂直关系;
重载是同一个类中方法之间的关系,是水平关系。
3、产生方法区别
重写只能由一个方法或只能由一对方法产生关系;
重载是多个方法之间的关系。
4、参数列表要求区别
重写要求参数列表相同;
重载要求参数列表不同。
5、调用方法区别
重写关系中,调用方法体是根据对象的类型来决定;
重载关系是根据调用时的实参表与形参表来选择方法体的。
扩展资料
方法的重写:
1、在子类中可以根据需要对从父类中继承来的方法进行重写。
2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。(注:返回值可以为父类中返回值的子类型.参数若为子类,则不是重写是重载)
3、重写方法不能使用比被重写的方法更严格的访问权限。
4. 重写方法不能声明抛出比被重写方法范围更大的异常类型。
来源:CSDN
作者:-小酒窝-
链接:https://blog.csdn.net/zx1293406/article/details/103926021