比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /c#中重写和重载的区别

c#中重写和重载的区别

2018年4月8日发布的Lithmee

关键区别:重写vs重载在c#中

的关键的区别c#中覆盖和重载之间的区别是被重写的方法调用与其定义的绑定发生在运行时重载方法调用与其定义的绑定发生在编译时.

c#是微软开发的一种通用编程语言。c#的主要优点是它支持面向对象编程(OOP)。OOP的一个支柱是多态性.它赋予一个对象多个行为。多态性中有两种类型,称为覆盖和重载。本文讨论了c#中方法重写和重载之间的区别。

内容

1.概述及关键区别
2.什么是c#中的重写
3.什么是c#中的重载
4.c#中重写和重载的相似性
5.并列比较-表格形式中c#中的重写和重载
6.总结

什么是c#中的重写?

OOP中还有一个重要的概念是继承.它将使用已经存在的类的属性和方法。它提高了代码的可重用性。已经存在的类是基类,新类被称为派生类。在重写多态性时,应该有一个基类和一个派生类。被重写的方法调用与定义的绑定发生在运行时。示例如下。

c#中重写和重载的区别

图01:c#重写程序

根据上面的程序,Shape类是基类,它包含显示方法。类Rectangle和Triangle是派生类。这些派生类在它们自己的实现中也有相同的方法显示。

首先,创建引用变量obj。它指向Shape对象。因此,Shape类的display方法将会执行。然后,引用变量指向Rectangle对象。因此,Rectangle类的显示方法将被执行。最后,引用变量指向Triangle对象。因此,将执行Triangle类的display方法。基类的显示方法由派生类的显示方法重写。

要运行的方法在运行时决定。Shape类使用“virtual”关键字编写。Rectangle和Triangle类是用' override '关键字编写的。如果不使用这些关键字,输出将为所有Shape类打印显示方法的内容。

什么是c#中的重载?

在重载中,多个方法名称相同但参数不同。参数可以是不同的类型。这些方法也可以有不同数量的参数。方法重载发生在同一个类中。重载方法与定义的绑定发生在编译时。参考下面的c#程序。

c#中重写和重载的关键区别

图02:c#重载程序

根据上述程序,A类有两个同名的方法sum。它们有不同类型的参数。在主程序中,创建了A的一个对象。sum(2,3)将使用整数调用sum方法。sum(5.1, 7.94)将调用具有双值的sum方法。这两个方法都有相同的名称和相同数量的参数。但是参数类型是不同的。相应地调用所需的方法。如果方法名称和参数类型相同但参数数量不同,也可能发生重载。

c#中重写和重载之间有什么相似之处?

  • c#中的重写和重载都是多态性的类型。

c#中重写和重载的区别是什么?

c#中的重写vs重载

在c#中覆盖是在派生类方法中为基类中已经存在的方法提供一个特定的实现。 c#中的重载就是用不同的实现创建多个同名方法。
参数
在c#重写中,方法有相同的名称,相同的参数类型和相同数量的参数。 在c#重载中,方法名称相同,但参数数量不同或参数类型不同。
发生
在c#中,重写发生在基类和派生类中。 在c#中,重载发生在同一个类中。
绑定时间
被重写的方法调用与其定义的绑定发生在运行时。 重载方法调用与其定义的绑定发生在编译时。
同义词
重写被称为运行时多态,动态多态性或后期绑定. 重载被称为编译时多态,静态多态性或早期绑定.

总结- - - - - -覆盖和重载在c#中

重写和重载是两种类型的多态性。c#中重写和重载之间的区别在于,重载方法调用对其定义的绑定发生在运行时,而重载方法调用对其定义的绑定发生在编译时。

参考:

1.库马尔,穆克什。c#角落。可以在这里
2. tutorialspoint.com。“c#多态性。”TutorialsPoint.可以在这里
3. tutorialspoint.com。“c#数据类型。”TutorialsPoint,可以在这里

相关文章:

Java中重载和重写的关键区别Java中重载和重写的区别 静态绑定和动态绑定的区别静态绑定和动态绑定的区别 早绑定和晚绑定的关键区别早绑定和晚绑定的区别 冒泡排序与插入排序的区别 ASP与ASP的区别。网

了下:编程标记:c#中重载的绑定时间,c#中重写的绑定时间,编译时多态,动态多态性,早期绑定,后期绑定,重载定义,重载在c#中,压倒一切的定义,覆盖在c#中,c#中的重写vs重载,c#中重载的参数,c#中重写的参数,运行时多态,静态多态性

关于作者:Lithmee

Lithmee Mandula是计算机系统工程学士(荣誉)毕业生。她目前正在攻读计算机科学硕士学位。她的写作和研究领域包括编程、数据科学和计算机系统。

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

努力工作和聪明工作的区别

努力工作和聪明工作的区别

白鼬和黄鼠狼的区别

协助与教唆与阴谋的区别

胆结石与肾结石的区别

奥斯曼和哈索克的区别

奥斯曼和哈索克的区别

最新的文章

  • Tecfidera和Vumerity的区别是什么
  • 变构调制和共价调制的区别是什么
  • 带绦虫病和囊虫病有什么区别
  • 阿斯巴甜和糖精有什么区别
  • 白血病和白细胞减少有什么区别
  • 组织胞浆菌病与弓形虫病有何区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.