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,通用語言進行時)。數組



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















2、VB.NET的類別:



















3、數據類型的區別:




4、變量聲明的區別:

在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則支持這個特性。spa



5、數組的區別:

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。



6、布爾操做符

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



7、不支持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>  



8、new和nothing關鍵字

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

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



9、 數據訪問

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

在數據訪問技術上,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中能夠將任何控 件的任何屬性綁定到包含數據的任何結構中。



10、 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頁面代碼也不顯得有條有理了。



11、 組件建立

在使用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中還增長告終構化異常處理等新的功能。

相關文章
相關標籤/搜索