源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中多态、重载、重写区别分析

  • 时间:2020-07-11 05:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中多态、重载、重写区别分析
本文实例总结了C#中多态、重载与重写的概念与区别。对于初学C#的朋友来说有不错的参考价值。分享给大家供大家参考。具体分析如下: [b]重写[/b]:是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。 格式如下: 1.在基类中:
public virtual void myMethod() 
{ 
} 
2.在子类中:
public override void myMethod() 
{ 
} 
重写以后,用基类对象和子类对象访问myMethod()方法,结果都是访问在子类中重新定义的方法,基类的方法相当于被覆盖掉了。 [b]重载:[/b]用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用
public void test(int x,int y){} 

public void test(int x,ref int y){} 

public void test(int x,int y,string a){} 

[b]重载的特征: [/b] I.方法名必须相同 II.参数列表必须不相同,与参数列表的顺序无关 III.返回值类型可以不相同 [b]但如果有泛型,就要注意了![/b] [b]多态:[/b]c#的多态性主要体现在类的继承上: 子类继承父类的时候,可能出现同名但方法定义不同的情况, 所以在子类中会将原方法覆盖,实现自身的要求. [b]需要注意的地方有两点:[/b] ①.可以在子类中被重写的方法一定要被标记成virtual(虚拟), abstract(抽象), override(重写)标记为virtual 和abstract 的函数就是为了重写而创建的,标记为override的函数本身是由前两种函数重写而来的,所以它可以被重写也是顺理成章的了; ②.重写的函数必须在子类中出现,而且任何一个父类的函数在其一个子类中只能被重写一次。(这一点很好理解,当你要重写两次时,该子类中将定义两个返回类型,方法名称 和参数列表都相同的函数,这肯定是不可能的)。 相信本文所述对大家C#程序设计的学习有一定的参考借鉴价值。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部