溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

.net中的重載有什么用

發(fā)布時間:2020-12-02 09:56:35 來源:億速云 閱讀:119 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān).net中的重載有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

.net中的重載,就是在同一個類中存在多個同名的方法,而這些方法的參數(shù)列表和返回值類型不同。值得注意的是,重載的概念并非面向?qū)ο缶幊痰姆懂?,從編譯器角度理解,不同的參數(shù)列表、不同的返回值類型,就意味著不同的方法名。也就是說,方法的地址,在編譯期就已經(jīng)確定,是這一種靜態(tài)綁定。

從示例中,我們總結(jié)重載的基本特征包括:

重載存在于同一個類中。

重載方法要求具有相同的方法名,不同的參數(shù)列表,返回值類型可以相同也可以不同(通過operator implicit 可以實(shí)現(xiàn)一定程度的返回值重載,不過不值得推薦)。

.NET 2.0引入泛型技術(shù),使得相同的參數(shù)列表、相同的返回值類型的情況也可以構(gòu)成重載。

重載就是一些幾個函數(shù)名字完全一樣,但參數(shù)類型或個數(shù)不一樣,實(shí)際調(diào)用將按參數(shù)類型來區(qū)分

比如,你現(xiàn)在有2個Max函數(shù)
1)

int Max(int i,int j)
{
}

2)

float Max(float i,float j)
{
}

在你的程序內(nèi)

int i,j,k;
k=Max(i,j);//將調(diào)用第一個Max
float x,y,z;
z=Max(x,y);//將調(diào)用第二個Max

顯然重載也具備多態(tài)性, 但這樣多態(tài)是基于原代碼級別的多態(tài), 以上2個Max函數(shù)在文本下是同名,但經(jīng)過編譯后,內(nèi)部名字是不一樣,要加上參數(shù)類型等一些信息,這個過程叫名字連編, 在編譯調(diào)用Max的源代碼時,編譯器根據(jù)調(diào)入時的參數(shù)選擇調(diào)用正確的Max函數(shù)

感謝各位的閱讀!關(guān)于.net中的重載有什么用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI