Visual Basic.NET是Microsoft Visual Studio.Net套件中主要的組成部分之一。.Net版本的Visual Basic增加了更多特性,而且煙花為完全面向?qū)ο蟮木幊陶Z言。本文主要介紹VB.Net的新特性,并比較VB6.0和VB.Net之間的區(qū)別。 1、什么是VB.Net? Microsoft推出全新的編程和操作系統(tǒng)Framework——.NET,支持多種語言利用公共.NET庫開發(fā)應(yīng)用程序,這些應(yīng)用程序在.NET Framework上運行。使用Visual Basic在.NET Framework上編程,這就是VB.NET。 2、1.5 VB.NET有什么新特點? VB.NET比 VB6.0更加穩(wěn)定,而且完全面向?qū)ο蟆R苍S你還記得,VB6.0不支持繼承、重載和接口,所以不是真正面向?qū)ο蟮摹6鳹B.NET則支持這些面向?qū)ο筇匦浴B6.0有兩個薄弱環(huán)節(jié)——多線程和異常處理。在VB.NET中,開發(fā)多線程應(yīng)用和使用C++/C#別無二致,結(jié)構(gòu)化異常處理也得到支持。稍后我們會詳細解釋這些特性。
VB.net是純面向?qū)ο蟮拈_發(fā)語言,為了適應(yīng).net Framework的安全性,vb.net進行了不小的調(diào)整。但是關(guān)鍵字修飾符之類的基本沒有什么變化,所以您只需要習(xí)慣.net下的強類型,應(yīng)該是不難轉(zhuǎn)型。
下面是VB.NET的特性列表—— ·面向?qū)ο蟮木幊陶Z言。支持繼承、重載、接口、共享成員和構(gòu)造器。·支持所有的CLS特性,如存取控制.NET類、與其它.NET語言交互、元數(shù)據(jù)、公共數(shù)據(jù)類型、委托等等。·多線程支持。·結(jié)構(gòu)化異常處理。 1.6 名字空間與集合 前面討論了我們的第一個VB.NET程序。該程序中首先引人注意的是名字空間(namespace)。在.NET參考文檔中,你會發(fā)現(xiàn)每個類都歸屬于某個namespace。
3、那么,namespace到底是什么? 一個namespace是類和組件的邏輯組合,其目的在于將.NET class按類別定義。微軟借用了C++ class packaging概念:namespace來描述這種組合。.NET Framework中的組件被稱為集合(assembly)。全部.NET代碼在數(shù)百個庫文件(DLL)中定義。Namespace把assembly中定義的類組織起來。一個namespace可以包括多個assembly,一個assembly也可以在多個namespace中定義。 namespace樹的根節(jié)點是System namespace。在.NET Library中,每個class都在一組相似的類別中定義。例如,System.Data namespace只包括數(shù)據(jù)相關(guān)類。同樣,System.Multithreading只包括多線程類。 在使用.NET支持的語言(如C#、VB.NET、C++.NET等)創(chuàng)建新應(yīng)用程序時,你會注意到每個應(yīng)用程序都被定義為一個namespace,而所有的class都歸屬于這個namespace。通過引用這個namespace,其它應(yīng)用程序就能存取這些class。 在.NET中,代碼被編譯為中間語言(Intermediate Language,IL),assembly中存儲了IL代碼、元數(shù)據(jù)和其它資源文件。同一個assembly可以附屬于一個或多個Exe/DLL。所有的.NET庫都存儲在assembly中。 4、 VB.NET: 完全面向?qū)ο蟮木幊陶Z言抽象、封裝、多態(tài)、繼承是面向?qū)ο笳Z言的四個基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向?qū)ο蟮木幊陶Z言。 Class 和 ModuleVB.NET用Class…End Class語句對創(chuàng)建class。每個VB.NET至少包括一個Module(模塊)。Module在Module…End Module語句對中實現(xiàn)。應(yīng)用程序的主要模塊是Main方法,亦即應(yīng)用程序入口點。 和VB6.0相似的地方是,都可以使用Function/Sub關(guān)鍵字定義方法。
5、.VB6.0與VB.NET的不同之處除了上面談到的語言進化,還有一些語法上的變化。所有這些語言和語法的變化在MSDN中均可查到,本文只作簡單介紹。 數(shù)據(jù)類型(Data Type)的改變VB.NET中有些數(shù)據(jù)類型得到改進。下面是變化對照表。 數(shù)據(jù)類型 VB6.0 VB.NET Integer 16 bit size 32 bit size Long 32 bit size 64 bit size Currency 用于存儲大浮點數(shù) 被decimal替代,支持更高精度 Variant 可以存儲任意類型數(shù)據(jù) 被Object類型替代,也可以存儲任意類型數(shù)據(jù),但結(jié)果更好 Date Date類型被存儲為double 引入DateTime類型,用于存儲不同格式的日期 在VB.NET中,Short數(shù)據(jù)類型是16 bit的。Short,Integer和Long都等同于CLR的System.Int16、System.Int32和System.Int64類型。 變量聲明的變化在VB6.0中,變量聲明有許多限制。其中之一就是不能同行聲明多個變量。如果一定要在一行中聲明多個變量,就一定得指明每個變量的類型,否則將被默認為Variant類型。 6、繼承繼承是面向?qū)ο缶幊陶Z言中最常用的技術(shù)。繼承讓你能夠重用類代碼和功能。 VB.NET支持繼承,而VB6.0則不支持。繼承的好處在于你能使用任何人編寫的類,從這些類派生自己的類,然后在自己的類中調(diào)用父類功能。 7、IDE和VB.NET的語言特性:VB.Net 保留了VB6的基本編程方法,比如所見即所得的開發(fā)環(huán)境,單擊窗體可以編程源代碼等等。同時,在VB.Net中還引入了大量令人興奮的變化,使VB成為。Net平臺的主要開發(fā)工具。 這些變化主要包括: 新的IDE特性 完全的面向?qū)ο?改變的數(shù)據(jù)類型 名稱空間的引入 結(jié)構(gòu)化的錯誤處理 新的線程模型 語法上的其他變化
新聞熱點
疑難解答