定義類時,實際上是在為數據類型創建藍圖。它不描述任何數據,但它定義了類名的含義,也就是說,類對象將由什麼組成,以及可以在這樣的對象上執行什麼操作。
對象是類的子類。類的成員是組成類的方法和變量。
類定義
類定義以關鍵字class開始,後跟類名,並以End class語句結束。類定義的一般形式如下:
[< attributelist >][accessmodifier][陰影][mustlinherit|NotInheritable][部分]_
類的名字[(的typelist)]
[繼承了類名稱]
[實現了interfacenames]
[語句]
結束類
在那裏,
- attributelist應用於類的屬性列表。可選的。
- accessmodifier定義了類的訪問級別,它可以取值為- Public, Protected, Protected Friend, Friend和Private。可選的。
- 陰影指示該變量在基類中重新聲明並隱藏具有相同名稱的元素或一組重載元素。
- mustlinherit聲明該類隻能作為基類使用,並且不能直接從它構建對象,即它是一個抽象類。可選的。
- NotInheritable指示該類不適合用作基類。
•部分表示隻部分完成的類定義。
•繼承了指示派生它的基類。
•實現了提供派生類的接口.
成員函數和封裝
類的成員函數和其他變量一樣,在類聲明中有自己的定義或原型。它可以作用於所屬類的任何對象,並且可以訪問該類的所有成員。
成員變量(從設計的角度來看)是對象的屬性,為實現封裝而保持私有。這些變量隻能通過公共成員函數訪問。
構造函數和析構函數
一個類構造函數是類的特殊成員Sub,每當創建該類的新對象時都會調用它。構造函數的名稱是新,並且它沒有返回類型。默認構造函數沒有任何形參,盡管在必要時構造函數可以有形參。這些構造函數稱為參數化構造函數。該技術允許您在創建對象時為其分配初始值。
析構函數是類的特殊成員Sub,當該類的對象退出其作用域時調用。“Finalize”是析構函數的名稱,它既不能返回值也不能接受任何參數。析構函數對於在退出程序之前釋放資源非常有用,比如關閉文件、釋放內存等等。析構函數不能向下傳遞或重載。
VB的共享成員。網絡類
使用' Shared '關鍵字,我們可以將類成員定義為靜態。當將類成員聲明為Shared時,無論生成多少類對象,該成員隻存在一個副本。
關鍵字“Shared”表示類隻有該成員的一個實例。共享變量用於定義常量,因為它們的值可以通過執行類來檢索,而無需創建示例。
可以在成員函數或類定義的作用域之外設置共享變量。共享變量也可以在類定義中初始化。
成員函數也可以聲明為Shared。這樣的函數隻能訪問共享變量。共享函數在創建對象之前發生。
繼承
繼承的概念是麵向對象編程中最重要的概念之一。繼承使我們能夠根據一個類定義另一個類,從而更容易設計和管理應用程序。這也允許代碼功能的重用和快速的實現時間。
在創建類時,程序員可以指定新類應該繼承現有類的成員,而不是開發全新的數據成員和成員函數。舊類稱為基類,新類稱為派生類。
基類和派生類
一個類可以從許多基類或接口派生,這意味著它可以從多個基類或接口繼承數據和功能。
在VB中生成派生類的語法。網絡如下:
...
結束課
類
...
結束課
基類初始化
基類的成員變量和成員方法被傳遞給派生類。因此,父類對象應該在子類之前生成。在VB。網, the superclass or base class is known as ‘MyBase’.
VB。網supports multiple inheritances.