中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

為什么VB.NET模塊在C#等語言中是沒有的

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

小編給大家分享一下為什么VB.NET模塊在C#等語言中是沒有的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

首先,這是一個歷史原因。早先的VB語言都有模塊和類模塊的概念。所謂模塊一般就是存放公用的一些方法(Sub)或者函數(Function),而類模塊,相當于就是我們經常所說的類的概念。下面這個圖是我從Excel的VBA中截取的,VB6里面也是這樣類似的設計

其次,VB.NET模塊還有一些新的東西。

VB.NET模塊里面可以直接有方法,這些方法自動就是靜態的(或者稱為共享的——VB.NET中的關鍵字是Shared),這些方法可以直接調用,所以Module是無法實例化,也沒有必要實例化的

模塊無法繼承,也無法實現接口

模塊里面可以有類,但其實這個類并不需要真的通過模塊作為前綴來引用。所以模塊有點虛的概念

模塊可以被組織到命名空間中去,因為模塊其實是個虛的,所以它的方法也可以直接外層的命名空間調用。

下面有個例子。注意,這里的代碼只是演示目的而寫的,沒有任何具體意義 。

  1. '''可以用命名空間封裝,這是比較好的做法  

  2. Namespace Xizhang  

  3. ''' < summary> 

  4. ''' 模塊無法繼承,無法實現接口  

  5. ''' < /summary> 

  6. ''' < remarks>< /remarks> 

  7. Module Module1  

  8. ''' < summary> 

  9. ''' 模塊里面的方法都是靜態的,
    無需實例化,也無從實例化  

  10. ''' < /summary> 

  11. ''' < remarks>< /remarks> 

  12. Sub Main()  

  13. Dim c As New class1  

  14. c.Name = "chenxizhang" 

  15. Console.WriteLine(c.Name)  

  16. Console.WriteLine(c.GetClassName())  

  17. Console.Read()  

  18. End Sub 

  1. ''' < summary> 

  2. ''' 類型可以放在模塊里面,但主要的現實意義在于
    分類存放而已,放在模塊里面并不影響該類型對外的引用。
    例如我們并不一定需要用Xizhang.Module1.Class1,
    而是直接通過Xizhang.Class1就可以對其進行引用  

  3. ''' < /summary> 

  4. ''' < remarks>< /remarks> 

  5. Public Class class1 : Implements IComparable  

  6. ''' < summary> 

  7. ''' 類型可以繼承一個基類,可以實現一個或者多個接口  

  8. ''' < /summary> 

  9. ''' < remarks>< /remarks> 

  10. Private _name As String  

  11. Public Property Name() As String  

  12. Get  

  13. Return _name  

  14. End Get  

  15. Set(ByVal value As String)  

  16. _name = value 

  17. End Set  

  18. End Property  

  19. Public Function GetClassName() As String  

  20. Return Me.GetType().ToString()  

  21. End Function  

  22. Public Function CompareTo(ByVal obj As 
    Object) As Integer Implements System.
    IComparable.CompareTo  

  23. Return 1  

  24. End Function  

  25. End Class  

  26. End Module  

  27. End Namespace 

以上是“為什么VB.NET模塊在C#等語言中是沒有的”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

康乐县| 勐海县| 瑞金市| 伊宁县| 新建县| 巨鹿县| 沈丘县| 北京市| 呼和浩特市| 公安县| 成武县| 桓台县| 禹城市| 磐石市| 唐海县| 河北省| 阿鲁科尔沁旗| 个旧市| 昭通市| 阳山县| 九江市| 承德县| 东安县| 安达市| 连云港市| 阜康市| 田东县| 涞源县| 方城县| 开鲁县| 南昌市| 达州市| 托里县| 东乌珠穆沁旗| 汾阳市| 炉霍县| 达孜县| 罗城| 北安市| 东乌珠穆沁旗| 九江市|