重写重载区别

来源:互联网 发布:厨娘物语的淘宝店好 编辑:程序博客网 时间:2024/06/03 16:44

引言:

方法的重写和重载二者的名字很相似,但是二者的使用方式确实不太一样,以下简单介绍重写和重载的区别。

内容:

重写:

      重写:一般在子类继承父类的时候,可以重写父类的方法,在抽象类,和接口类中很常用,多态可以通过重写来实现,同一个参数传递到不同的对象实

现不同的结果。重写也叫重置和覆盖,是在子类重新定衣服类中的已经定义的方法,其基本思想是通过一种动态绑定机制的支持,是的子类在继承父类的接口定义的前提下适合自己的要求的实现去设置换父类中相应实现。重置属于一种多态机制。

      重写方法的规则:
1)、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
2)、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。
3)、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

方法重载:

重载:指的是两个方法必须有相同的方法名,但参数类型或个数必须要有所不同,否则重载就会没有意义。方法重载提供了创建了同名的多个方法的能力,但这些方法需要使用不同的参数类型,不单单是构造方法可以重载,普通方法也可以重载。

重载的规则:
1)、必须具有不同的参数列表;
2)、可以有不同的返回类型;
3)、可以有不同的访问修饰符;

总结:

重写在抽象方法中使用的时候,为防止父类方法重名需要实例化或者加virtual。



原创粉丝点击