重载、覆盖和覆写的区别

 


Overload:
1、定义:1)方法名相同;2)参数不同,体现在参数个数和类型上的不同
2、范围:发生在同个类中

Override:
1、定义:1)方法名相同;2)参数相同;3)返回值类型相同
2、范围:发生在子类中
注意:Override时,方法的访问权限不能更严格
 1 方法重载(Overload):
 2 方法重载:同一个类中不能有两个标识相同的成员。对于方法来说,方法名和参数列表共同组成了方法的标识,因此在一个类中允许存在两个相同名称的方法,
  只要方法的参数列表不完全相同(参数数量或参数类型不同)。这时称该方法具有同名的重载形式,即方法名相同而标识不同。
3 方法名:相同 4 参数列表:必须不同 5 返回值:可以不相同
7 覆盖(new): 8 覆盖:有时不希望派生类一成不变地继承基类中的所有成员,使用new关键字进行修饰,可以覆盖基类中的同名成员。
10 覆写(Override): 11 覆写:将基类的方法成员定义为虚拟方法(使用关键字virtual修饰),在派生类中对虚拟方法进行覆写(使用关键字override修饰)。 12 类成员的虚拟只能用于方法,不能用于字段。 13 位置:存在于继承关系的类中 14 访问修饰符:相同,且不能是private 15 方法名:相同 16 参数列表:相同 17 返回值:相同

posted on 2012-11-02 17:27  凌峰布衣  阅读(1131)  评论(0编辑  收藏  举报

导航