亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

VB.NET如何實現基類繼承、重載、隱藏

發布時間:2021-12-02 10:10:29 來源:億速云 閱讀:181 作者:小新 欄目:編程語言

小編給大家分享一下VB.NET如何實現基類繼承、重載、隱藏,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

通過聲明Inherits關鍵字,來標識該類的基類是誰。Inherits 基類名

Sub New(s as string)'構造,加入變量s 可要求強行賦值  '初始化  MyBase.New() '注意:這句話要放在sub內的***句,基類帶參數時要標明  End Sub  Protected Overrides Sub Finalize()'析構  '收尾  MyBase.Finalize()  End Sub

在基類中用Overridable修飾符來標識允許基類中的屬性或方法在其派生類中被重寫,沒有標識的其實就是默認為有NotOverridable修飾符來隱式地標識,用于提醒編譯器該屬性或方法不可被重寫。

◆重寫: 在派生類中用Overrides重新編寫有Overridable標識的基類的方法或屬性。
◆重載: Overloads,用同樣的名稱,用不同的參數列表來創建多個方法和屬性,在調用時就可以適應不同參數類型的要求。
◆隱藏: 用派生類的名稱代替基類的名稱,并非讓該名稱消失。Shadows方式,適用于任何元素類型,亦可聲明成任何元素類型。隱藏時在派生類中用private來修飾,它的子類就會繼承它基類的成員。

在編輯器中隱藏基類成員的提示

<System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never)> Public Shadows 基類名稱1,基類名稱2,.....

用來控制VB.NET基類成員訪問的修飾符
Friend : 只在當前項目中可用
private : 只在本類中可用
protected : 在本類和本類的派生類中可用的成員
protected friend:在當前項目和本類的派生類中可用
public :類以外的代碼也可以訪問
默認值為:public

每當創建類的實例時,如果該對象中存在名為 New 的過程,則公共語言運行庫 (CLR) 嘗試執行它。New 是一種稱為“構造函數”的過程,該構造函數用于在對象中的任何其他代碼執行之前初始化新對象。New 構造函數可用于打開文件、連接到數據庫、初始化變量以及處理任何需要在可使用對象前完成的其他任務。

當創建派生類的實例時,基類的 Sub New 構造函數首先執行,然后執行派生類中的構造函數。這是因為 Sub New 構造函數中的***行代碼使用語法 MyBase.New() 調用類層次結構中該類本身緊上面的類的構造函數。然后調用該類層次結構中每個類的 Sub New 構造函數,直到到達基類的構造函數。此時,基類構造函數中的代碼執行,接著執行所有派生類中每個構造函數的代碼,***執行最相近派生的類中的代碼。當不再需要某對象時,CLR 調用該對象的 Finalize 方法,然后釋放其內存。Finalize 方法稱為“析構函數”,因為它執行清理任務,如保存狀態信息、關閉文件和與數據庫的連接,以及執行在釋放對象前必須完成的其他任務。

當調用派生類的 Sub Finalize 方法時,首先執行所需的任何清理任務,然后使用語法 MyBase.Finalize() 顯式調用其基類的 Sub Finalize 方法。因此,Sub Finalize 方法首先從最相近派生的類開始運行,***執行VB.NET基類中的代碼。


VB.NET引入了一些語句和修飾符支持繼承,下表描述了VB.NET基類的繼承的語句和說明:
語句/修飾符 描述

Inherits: Inherits 語句--指明了當前的類從哪個類繼承。Inherits 要害詞只用在類和接口中
NotInheritable: NotInheritable 修飾符--禁止用作基類
MustInherit: MustInherit修飾符--指明不能建立當前類的實例。這個類只能被繼承
Overridable: Overridable 修飾符--答應類的一個屬性或方法可以被Override。Public 方法缺省是 NotOverridable
Overrides: Overrides 修飾符--Override基類的一個屬性或方法
NotOverridable: NotOverridable 修飾符 (缺省)- -禁止類的一個屬性或方法被Override
MustOverride: MustOverride 修飾符--需要繼承的類Override的屬性或方法。當使用MustOverride 要害詞的時候,方法的定義只包括Sub, Function和 Property 語句。要非凡強調的是,其他任何語句是不答應沒有End Sub, End Function或者 End Property 語句。類中帶有MustOverride 方法都必須聲明為MustInherit。Public 方法缺省值是NotOverridable
Shadows: Shadows 修飾符--答應重新使用被繼承的類成員的名字。Shadow不刪除繼承得來的類的類型成員,它僅僅是使所有被繼承的類型成員在派生類中不可使用。Shadow是在派生類中重新聲明類成員

Class A  Public Sub F()  Debug.Print("基類不能重寫")  End Sub  Public Overridable Sub G()  Debug.Print("基類可重寫")  End Sub  Public Sub H()  Debug.Print("A.H")  End Sub  End Class  Class B  Inherits A '繼承A  Public Shadows F As String = "隱藏基類,重新生成一個" Public Overrides Sub G()  Debug.Print("重寫")  End Sub  Public Overloads Sub G(ByVal s As Int32)  Debug.Print("重載")  End Sub  '隱藏基類H成員,編輯器中看不到提示,但依然可以用  <System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)> Public Shadows h As Int16 = "3" End Class  Public Class Form1  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  Dim b As New B()  Dim a As New A  a.F()  a.G()  a.H()  Debug.Print(b.F)  b.G()  b.G(3)  Debug.Print(b.h)  End Sub  End Class

輸出結果:
基類不能重寫
基類可重寫
A.H
隱藏基類,重新生成一個
重寫
重載
3

看完了這篇文章,相信你對“VB.NET如何實現基類繼承、重載、隱藏”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安阳县| 突泉县| 阳原县| 钟山县| 河东区| 宁德市| 台江县| 东源县| 荣成市| 淄博市| 红桥区| 县级市| 恩平市| 三河市| 开远市| 余干县| 潼关县| 潜山县| 乌恰县| 益阳市| 阿勒泰市| 新丰县| 朔州市| 樟树市| 兴义市| 佛教| 琼中| 综艺| 凤翔县| 镇坪县| 双流县| 大埔县| 巴中市| 开阳县| 沁阳市| 东明县| 黄骅市| 遵义县| 蓬莱市| 门头沟区| 武威市|