.net中的重载是什么?

藏色散人
풀어 주다: 2020-09-10 13:53:33
원래의
2846명이 탐색했습니다.

.net中的重载是什么?

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

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

重载存在于同一个类中。

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

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

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

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

int Max(int i,int j)
{
}
로그인 후 복사

2)

float Max(float i,float j)
{
}
로그인 후 복사

在你的程序内

int i,j,k;
k=Max(i,j);//将调用第一个Max
float x,y,z;
z=Max(x,y);//将调用第二个Max
로그인 후 복사

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

위 내용은 .net中的重载是什么?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!