您好,登錄后才能下訂單哦!
小編給大家分享一下為什么VB.NET模塊在C#等語(yǔ)言中是沒(méi)有的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首先,這是一個(gè)歷史原因。早先的VB語(yǔ)言都有模塊和類模塊的概念。所謂模塊一般就是存放公用的一些方法(Sub)或者函數(shù)(Function),而類模塊,相當(dāng)于就是我們經(jīng)常所說(shuō)的類的概念。下面這個(gè)圖是我從Excel的VBA中截取的,VB6里面也是這樣類似的設(shè)計(jì)
其次,VB.NET模塊還有一些新的東西。
VB.NET模塊里面可以直接有方法,這些方法自動(dòng)就是靜態(tài)的(或者稱為共享的——VB.NET中的關(guān)鍵字是Shared),這些方法可以直接調(diào)用,所以Module是無(wú)法實(shí)例化,也沒(méi)有必要實(shí)例化的
模塊無(wú)法繼承,也無(wú)法實(shí)現(xiàn)接口
模塊里面可以有類,但其實(shí)這個(gè)類并不需要真的通過(guò)模塊作為前綴來(lái)引用。所以模塊有點(diǎn)虛的概念
模塊可以被組織到命名空間中去,因?yàn)槟K其實(shí)是個(gè)虛的,所以它的方法也可以直接外層的命名空間調(diào)用。
下面有個(gè)例子。注意,這里的代碼只是演示目的而寫(xiě)的,沒(méi)有任何具體意義 。
'''可以用命名空間封裝,這是比較好的做法
Namespace Xizhang
''' < summary>
''' 模塊無(wú)法繼承,無(wú)法實(shí)現(xiàn)接口
''' < /summary>
''' < remarks>< /remarks>
Module Module1
''' < summary>
''' 模塊里面的方法都是靜態(tài)的,
無(wú)需實(shí)例化,也無(wú)從實(shí)例化''' < /summary>
''' < remarks>< /remarks>
Sub Main()
Dim c As New class1
c.Name = "chenxizhang"
Console.WriteLine(c.Name)
Console.WriteLine(c.GetClassName())
Console.Read()
End Sub
''' < summary>
''' 類型可以放在模塊里面,但主要的現(xiàn)實(shí)意義在于
分類存放而已,放在模塊里面并不影響該類型對(duì)外的引用。
例如我們并不一定需要用Xizhang.Module1.Class1,
而是直接通過(guò)Xizhang.Class1就可以對(duì)其進(jìn)行引用''' < /summary>
''' < remarks>< /remarks>
Public Class class1 : Implements IComparable
''' < summary>
''' 類型可以繼承一個(gè)基類,可以實(shí)現(xiàn)一個(gè)或者多個(gè)接口
''' < /summary>
''' < remarks>< /remarks>
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Public Function GetClassName() As String
Return Me.GetType().ToString()
End Function
Public Function CompareTo(ByVal obj As
Object) As Integer Implements System.
IComparable.CompareToReturn 1
End Function
End Class
End Module
End Namespace
以上是“為什么VB.NET模塊在C#等語(yǔ)言中是沒(méi)有的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。