vb 和vb.net的區別


vb 和vb.net的區別

源地址:http://blog.csdn.net/xjc1278003262/article/details/8805324

在隨着VB.NET的 發展,大部分人都放棄使用VB6.0而選擇VB.NET,下面我們就來研究一下VB6.0和VB.NET的區別。VB.NET是微軟公司在2002年推出 的一種開發基於.Net平台應用程序的開發語言,也是微軟公司極力推薦的一種開發.Net平台應用程序的開發語言。首先還是讓我們來簡單了解一下 VB.NET和其前一個版本,也是目前世界上擁有最多使用者的開發語言--VB 6.0的主要區別。


VB6.0和VB.NET的主要區別簡介:

雖然說VB.NET是VB 6.0的后繼版本,但在我看來VB.NET除了在語法上還保留VB6.0原有的蹤影以外,因為二者幾乎在90%以上保持相似或相同。但在其他很多方 面,VB.NET都和VB6.0截然不同。也許正是這些不同點,才使得VB.NET功能更強大,更有生命力,但同樣也為VB6.0程序員轉型為 VB.NET程序員帶來了困難。因為VB.NET提出了很多新的功能、概念和觀點,掌握VB.NET不僅要掌握語法,還需要理解並運用這些新的功能、概念 和觀點。當然也需要掌握.Net框架,理解CLR(CommonLanguage Runtime,通用語言進行時)。



一、VB6.0面向對象內容:















二、VB.NET的類別:



















三、數據類型的區別:




四、變量聲明的區別:

在VB6.0中,變量聲明有許多限制。其中之一就是不能同行聲明多個變量。如果一定要在一行中聲明多個變量,就一定得指明每個變量的類型,否則將被默認為Variant類型。

 

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   Dim a1, a2 As Integer    
  2. 2.  Dim a3 As Integer, a4 As Integer  
  3. </span>  


第一行中的a1是Variant類型,a2是Integer類型。第二行中兩個變量都是Integer類型。

VB.NET支持同行聲明多個變量,舉例如下:

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   Dim a1, a2, a3 As Integer </span>  

變量初始化是另一個問題。在VB6.0中不能同時聲明和初始化變量,而VB.NET則支持這個特性

VB.NET支持同行聲明多個變量,舉例如下: 

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   Dim a1, a2, a3 As Integer </span>  


變量初始化是另一個問題。在VB6.0中不能同時聲明和初始化變量,而VB.NET則支持這個特性。



五、數組的區別:

VB.NET對數組作了明顯的改動。在VB.NET中,你需要格外留意數組范圍問題。VB6.0默認數組下界為0,故數組中的元素數量等與數組上界值加一。下面的數組界限從A(0)到A(10),共有11個元素: 

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   Dim A(10) As Single </span>  

可以使用OptionBase改變下界值為1。在VB.NET中,數組和C++一樣,下界值為0,不支持Option Base。



六、布爾操作符

  VB6.0中的And、Or或是Xor語句是按位操作符。而在VB.NET中,它們是布爾操作符。執行這些操作將返回true或false。VB.NET引入新操作符來完成按位操作。



七、不支持Set語句

VB6.0使用Set語句指派對象。例如: 

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   Set myObj = new MyObject    
  2. 2.  Set a = b    
  3. </span>  

在VB.NET中,不需要使用Set指派對象。例如: 

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">1.   myObj = new MyObj()    
  2. 2.  a = b    
  3. </span>  



八、new和nothing關鍵字

VB6.0中,AS  New和Nothing關鍵字用於聲明一個對象並初始化它。 

VB.NET不支持隱式創建對象。



九、 數據訪問

不同點主要表現在:數據訪問技術、數據訪問具體實現方法和數據綁定上的不同。

在數據訪問技術上,VB 6.0是 通過ADO(Active X Data Object,即:Active X數據對象)來實現對數據庫訪問的。同時為了保證對早期版本的兼容,也提供RDO(遠程數據對象)和DAO(數據訪問對象)二種數據訪問技術。在 VB.NET中是使用ADO.NET來訪問數據庫,ADO.NET是.NET框架的一部分,其對應的類庫是.Net FrameWork SDK的真子集。ADO和ADO.NET這兩種技術在概念、功能和實現上都有許多差異。由於篇幅所限,這里就不一一介紹了。其實在VB.NET中也可以使 用ADO來訪問數據庫,但ADO在VB.NET中是以COM組件的形式出現的,通過添加引用才可以在VB.NET中使用。添加引用的過程,其實就是對 COM組件互操作。經過互操作后的COM組件,已經並非先前意義上的COM組件,而是轉變成可供VB.NET直接使用的.Net類庫。

在數據訪問的具體實現方法上,VB 6.0實 現數據訪問主要是兩種方法:其一是在程序設計階段,可通過把數據源綁定到ADODC控件或使用數據環境;其二在運行時,可以通過編程方式創建記錄集 RecordSet對象並與記錄集對象交換數據。同樣在VB.NET中實現數據訪問的方法主要也是二種:其一是在程序設計階段,通過創建、配置數據適配器 DataAdapter和生成數據集DataSet;其二在運行中,通過編程方式動態創建、配置數據適配器和創建、生成數據集。

在數據綁定(Data Bind) 上,在VB 6.0中實現數據綁定通過設置控件的下列屬性來實現:DataChanged、DataField、DataFormat、DataMember 和 DataSource。通常是把控件的顯示屬性綁定到數據源中的相應字段。在VB.NET中,數據綁定的應用范圍可廣泛得多,VB.NET中可以將任何控 件的任何屬性綁定到包含數據的任何結構中。



十、 Web開發

VB是使用Active Server Page(簡 稱ASP)來創建在 Web應用程序。在ASP中,編寫Web頁面並非純正的VB語言,而是VB腳本語言--VBScript。在VB.NET中是使用ASP.NET技術來編 寫Web頁面。在ASP.NET中使用的也不再是腳本語言,而是真正意義編程語言,其中就可以是VB.NET。開發過ASP頁面的朋友都清楚,雖然編寫 ASP頁面對開發工具要求很低,但由於其是面向過程式開發,所以稍微復雜一點的ASP代碼都顯得雜亂無章,這都給程序設計、調試、修改帶來了麻煩。而 VB.NET是建立在新的框架結構上,VB.NET完全支持Web編程。憑借ASP.NET的Web 應用程序、XML Web services等等基於Web上的功能,使得VB.NET開發Web 頁面與開發Windows編程很相似,Web頁面代碼也不顯得有條有理了。



十一、 組件創建

在使用VB 6.0和 VB.NET編寫應用程序時,雖然都可以通過從工具箱中選擇組件,通過拖入方式在應用程序中加入組件,但二者在實現機理上卻存在根本不同。在VB 6.0中,應用程序中創建的組件全部是COM組件,即可在COM應用程序中使用的ActiveX控件、ActiveX 類型的DLL 和ActiveX類型的EXE。而在VB.NET中,向窗體中拖入的組件,都是基於繼承,從.Net框架提供的SDK中相應的類繼承,經過實例化后,通過 添加功能才把組件加入到設計窗體中。這些過程都可以在VB.NET的源代碼中找到。VB.NET中使用的每一個組件都是從Component或 Control基類派生出來的。

當然VB6.0和VB.NET之間還存在很多差別,如:VB 6.0 只提供單線程模式,並不支持多線程。而在VB.NET全面支持多線程。並且在VB.NET中還增加了結構化異常處理等新的功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM