微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#重载和重写的区别

重载就是在同一个类中,方法名相同,参数列表不同。参数列表不同包括:参数的个数不同,参数类型不同等。

重载特征:
I.方法名必须相同
II.参数列表必须不相同,与参数列表的顺序无关
III.返回值类型可以不相同

用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用
public void test(int x,int y){}
public void test(int x,ref int y){}
public void test(int x,int y,string a){}

重写就是子类重写父类方法,在调用的时候,子类的方法会覆盖父类方法,也就是会调用子类的方法。在父类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。

重写格式:
父类中:
public virtual void myMethod()
{
}
子类中:
public override void myMethod()
{
}
重写以后,用父类对象和子类对象访问myMethod()方法,结果都是访问在子类中重新定义的方法父类方法相当于被覆盖掉了。

子类中为满足自己的需要来重复定义某个方法的不同实现。
通过使用override关键字来实现覆写。
只有虚方法和抽象方法才能被覆写。

要求(三相同)
相同的方法名称
相同的参数列表
相同的返回值类型

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐