VB.NET可選參數的默認值必須是一個常數表達式。
公司主營業務:成都做網站、網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出江城免費做網站回饋大家。
過程定義中跟在可選參數后的每個參數也都必須是可選的。
下面的語法顯示帶VB.NET可選參數的過程聲明:
Sub sub name(ByVal parameter 1 As data type 1,
Optional ByVal parameter 2 As data type 2 = default value)
調用帶VB.NET可選參數的過程
過程在運行時無法檢測到給定的參數是否已被省略,或者調用代碼是否已顯式提供默認值。如果需要弄清楚這一點,可以設置一個不可能的值作為默認值。下面的過程定義了可選參數 office,并測試其默認值 QJZ 以查看它在調用中是否已被省略:
Visual Basic
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters" End If
' Insert code to notify headquarters or specified office.
End Sub
如果可選參數是像 String 這樣的引用類型,只要它不是該變量所預期的值,就可以使用 Nothing 作為默認值。
VB.NET可選參數和重載
定義帶可選參數的過程的另一種方法是使用重載。如果有一個可選參數,可以定義過程的兩個重載版本,一個接受此參數,另一個則不帶參數。此方法隨可選參數數目的增加而變得更復雜。然而,這樣做的優點是可以完全確定調用程序是否提供了每個VB.NET可選參數。
我們都知道,面向對象語言的三大特征是:封裝、繼承和多態。而重寫和重載是多態的兩種表現形式。多態,顧名思義,就是指多種形態。而重寫和重載正好體現了這一點。現在我們以 VB.NET 語言來說明兩者的區別。
重寫是發生在父類與子類之間的關系。具體來講就是子類可以重寫父類的現有的方法。它要求子類的方法名稱及參數必須與父類完全一致。比如吃飯,父親可以吃兩碗面,孩子同樣也是吃面,卻只能吃一碗。
重載則主要是發生在同一個類當中的,它通過多個名稱相同的方法,但方法參數不相同,或者方法返回類型不相同來加以區別。其中,方法參數不相同包括以下幾種情況:參數的個數不相同,參數的類型不相同,參數的對應位置不相同。需要說明的是,重載同樣可以應用到父類與子類當中。即子類重載了父類的方法。
重寫:
在 VB.NET 中,重寫汲及到的關鍵字有:
OverRidable: 在父類中聲明的可以在子類中重寫的方法。
OverRides: 在子類中聲明的要重寫父親中可重寫的方法。
MustOverRide: 在父類中,表示這個方法必須在子類中重寫。此時,該類必須聲明為抽象類。
NotOverridable: 如果當前類還有子類,那么,在其子類中,該方法不允許被重寫。
重載:
在 VB.NET 中,重載用到的關鍵是 OverLoads。
這里需要說明幾點:
1. 對于在同一類當中,一組名稱相同的方法或函數重載時,可以加關鍵字 OverLoads 或者不加。但如果其中有一個方法加上,那同組其它方法也必須加該關鍵字。
2. 如果該方法是重載父類中的方法。那么必須加 OverLoads 關鍵字。
3. 如果兩個同名函數僅返回類型不相同,則它們不能重載,即必須在參數上有所不同。
重構是一種程序結構上的改動,例如添加刪除方法、改變參數等。
重寫、重載則都是指面向對象中的虛函數的多態實現。
.NET2005編程環境中,有個菜單功能支持 C# 的重構。而vb點虐 則需要手動
分享文章:vb點虐
方法重載 vbnet invoke方法詳解
鏈接URL:http://vcdvsql.cn/article14/ddegcge.html
成都網站建設公司_創新互聯,為您提供定制開發、服務器托管、動態網站、網站設計公司、手機網站建設、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯