首頁  >  文章  >  後端開發  >  .net中的重載是什麼?

.net中的重載是什麼?

藏色散人
藏色散人原創
2019-04-27 11:40:413004瀏覽

.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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn