简述方法重载和方法重写的区别

2024-10-20 13:01:07 数码大全

简述方法重载和方法重写的区别 

方法重载和方法重写的区别主要体现在以下几个方面:

1. 范围区别:重写和被重写的函数在不同的类中,重载和被重载的函数在同一类中。

2. 参数区别:重写与被重写的函数参数列表一定相同,重载和被重载的函数参数列表一定不同。

3. virtual的区别:重写的基类函数必须要有virtual修饰,重载函数和被重载函数可以被virtual修饰,也可以没有。

4. 返回类型区别:重写的方法返回类型必须与被重写方法的返回类型相同,重载的方法返回类型可以相同也可以不同。

5. 访问权限区别:重写的方法访问权限不能比父类中被重写的方法的访问权限更低,重载的方法可以改变访问修饰符。

6. 异常声明区别:重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常,重载的方法可以声明新的或更广的检查异常。

7. 方法重写实现了多态性,当通过基类指针或引用调用同名函数时,实际调用的是派生类中重写的函数。

版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。