.net中的重载是什么?

藏色散人
Freigeben: 2020-09-10 13:53:33
Original
2846 人浏览过

.net中的重载是什么?

.net中的重载,就是在同一个类中存在多个同名的方法,而这些方法的参数列表和返回值类型不同。值得注意的是,重载的概念并非面向对象编程的范畴,从编译器角度理解,不同的参数列表、不同的返回值类型,就意味着不同的方法名。也就是说,方法的地址,在编译期就已经确定,是这一种静态绑定。

从示例中,我们总结重载的基本特征包括:

重载存在于同一个类中。

重载方法要求具有相同的方法名,不同的参数列表,返回值类型可以相同也可以不同(通过operator implicit 可以实现一定程度的返回值重载,不过不值得推荐)。

.NET 2.0引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载。

重载就是一些几个函数名字完全一样,但参数类型或个数不一样,实际调用将按参数类型来区分

比如,你现在有2个Max函数
1)

int Max(int i,int j)
{
}
Nach dem Login kopieren

2)

float Max(float i,float j)
{
}
Nach dem Login kopieren

在你的程序内

int i,j,k;
k=Max(i,j);//将调用第一个Max
float x,y,z;
z=Max(x,y);//将调用第二个Max
Nach dem Login kopieren

显然重载也具备多态性, 但这样多态是基于原代码级别的多态, 以上2个Max函数在文本下是同名,但经过编译后,内部名字是不一样,要加上参数类型等一些信息,这个过程叫名字连编, 在编译调用Max的源代码时,编译器根据调入时的参数选择调用正确的Max函数

以上是.net中的重载是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!