這篇文章給大家分享的是有關(guān).net中的重載有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)向陽免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
.net中的重載,就是在同一個(gè)類中存在多個(gè)同名的方法,而這些方法的參數(shù)列表和返回值類型不同。值得注意的是,重載的概念并非面向?qū)ο缶幊痰姆懂?,從編譯器角度理解,不同的參數(shù)列表、不同的返回值類型,就意味著不同的方法名。也就是說,方法的地址,在編譯期就已經(jīng)確定,是這一種靜態(tài)綁定。
從示例中,我們總結(jié)重載的基本特征包括:
重載存在于同一個(gè)類中。
重載方法要求具有相同的方法名,不同的參數(shù)列表,返回值類型可以相同也可以不同(通過operator implicit 可以實(shí)現(xiàn)一定程度的返回值重載,不過不值得推薦)。
.NET 2.0引入泛型技術(shù),使得相同的參數(shù)列表、相同的返回值類型的情況也可以構(gòu)成重載。
重載就是一些幾個(gè)函數(shù)名字完全一樣,但參數(shù)類型或個(gè)數(shù)不一樣,實(shí)際調(diào)用將按參數(shù)類型來區(qū)分
比如,你現(xiàn)在有2個(gè)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)用第一個(gè)Max float x,y,z; z=Max(x,y);//將調(diào)用第二個(gè)Max
顯然重載也具備多態(tài)性, 但這樣多態(tài)是基于原代碼級(jí)別的多態(tài), 以上2個(gè)Max函數(shù)在文本下是同名,但經(jīng)過編譯后,內(nèi)部名字是不一樣,要加上參數(shù)類型等一些信息,這個(gè)過程叫名字連編, 在編譯調(diào)用Max的源代碼時(shí),編譯器根據(jù)調(diào)入時(shí)的參數(shù)選擇調(diào)用正確的Max函數(shù)
感謝各位的閱讀!關(guān)于.net中的重載有什么用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!