• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      編程工具VB6.0 與VB.NET 的比較研究

      2010-12-08 08:51:52孫利娟
      關(guān)鍵詞:數(shù)據(jù)類型關(guān)鍵字語句

      孫利娟

      (開封教育學(xué)院,河南 開封 475004)

      0 引言

      Visual Basic 6.0(簡稱VB6.0)和Visual Basic.NET(簡稱VB.NET)都是美國微軟公司推出的編程工具, 適合在Windows 環(huán)境下開發(fā)各類應(yīng)用程序。它們的前身是QBASIC,語言基礎(chǔ)是BASIC (Biginners All-Purpose Symbolic Instruction Code, 即初學(xué)者通用符號指令代碼)。 BASIC 是20 世紀(jì)60 年代美國的Dart Mouth 學(xué)院的兩位教授共同設(shè)計的計算機程序設(shè)計語言,最初運行在DOS 環(huán)境下,是當(dāng)時最流行的高級語言之一。 微軟公司于1991 年發(fā)布VB1.0, 用于輕松開發(fā)應(yīng)用最廣泛的窗體應(yīng)用程序,極大地推動了Windows 應(yīng)用程序的開發(fā)。 此后版本不斷升級,至1998 年8 月推出VB6.0。Visual Basic.NET 是微軟公司在2002 年推出的一種開發(fā)基于.NET 平臺的Microsoft Visual Studio .NET 套件中主要組成部分之一,是微軟公司極力推薦的一種開發(fā).NET 平臺應(yīng)用程序的開發(fā)語言,也是目前世界上最為流行的編程工具之一[1]。

      1 VB6.0V 與VB.NET 的整體特性及開發(fā)環(huán)境

      1.1 整體特性

      VB6.0 是一種基于對象的可視化開發(fā)工具,是專門為Microsoft 的32 位操作系統(tǒng)設(shè)計的,可用于開發(fā)通信、數(shù)據(jù)庫、多媒體以及普通的Windows 應(yīng)用程序。 由于它秉承了VB 語言簡單易學(xué)易用、功能強大的一貫特性,更由于VB6.0 新增在數(shù)據(jù)庫訪問、控件以及支持Internet 方面的設(shè)計實現(xiàn)功能,使之成為廣大程序愛好者和專業(yè)開發(fā)人員首選的編程工具。

      NB.NET 是在VB6.0 的基礎(chǔ)上發(fā)展起來的,其語法與VB6.0相似,但VB.NET 并不是VB6.0 的簡單升級,而是增加了更多特性,演化為完全面向?qū)ο螅ň拖馛++)的編程語言,具有完全面向?qū)ο蟮奶匦?,如繼承、封裝、重載、多態(tài)等。VB.NET支持基于網(wǎng)絡(luò)應(yīng)用的開發(fā), 適應(yīng)了電子商務(wù)時代的發(fā)展要求,除滿足一般編程和客戶/服務(wù)器應(yīng)用開發(fā)的需要外,更為精彩的是,它還可以像創(chuàng)建普通表單一樣創(chuàng)建用戶自己的Web 動態(tài)頁面。 VB.NET 的界面和編程風(fēng)格都統(tǒng)一在Visual Stutio.NET 下,一個.NET項目支持多種語言的結(jié)合,用戶可以根據(jù)開發(fā)的實際需求,自由選擇c#、Visual Basic .NET、Visual C++.NET 語言。 這樣既可以發(fā)揮各種語言各自特有的優(yōu)勢,又可以節(jié)省企業(yè)對員工進(jìn)行開發(fā)語言培訓(xùn)的費用。 VB6.0 中的兩個薄弱環(huán)節(jié)——多線程和異常處理,在VB.NET 中得到了較好處理,開發(fā)多線程應(yīng)用和使用C++/C# 別無二致, 結(jié)構(gòu)化異常處理也得到支持。

      1.2 開發(fā)環(huán)境

      兩個軟件的集成開發(fā)環(huán)境有較大變化。 (1)VB6.0 默認(rèn)只顯示一個工具箱, 不分類型, 而VB.NET 工具箱將工具分成了多種類型,每一種類型以標(biāo)簽形式顯示,包括數(shù)據(jù)類型、組件類型和Windows窗體類型,可隱藏或完全展開,工具數(shù)量大大增加。(2)VB6.0 和VC6.0 的開發(fā)環(huán)境是各自獨立的,而Visual Studio .NET 把VB.NET、VC.NET、C#.NET、VJ#.NET 統(tǒng)一到一個集成開發(fā)環(huán)境中。在該環(huán)境下,不同語言之間的數(shù)據(jù)和代碼交換也更方便,極大地簡化了應(yīng)用程序開發(fā)步驟,提高了編程效率。 另外,在先前的版本中,公用類界面對于用戶總是隱藏的,在Visual Basic.NET 中, 公用類可以在代碼窗口中瀏覽和編輯。

      2 具體程序的實現(xiàn)

      2.1 數(shù)據(jù)類型

      .NET 平臺為所有支持語言提供了公共類型系統(tǒng),這就意味著所有語言都必須支持公共語言運行環(huán)境所強制的相同的數(shù)據(jù)類型。 這樣就消除了不同語言之間數(shù)據(jù)類型的不兼容性。 例如,在一個32 位的Windows 平臺上,在C++這類語言中,Integer 數(shù)據(jù)類型占據(jù)4 個字節(jié),而在VB6.0 中,則占據(jù)2 個字節(jié)。 VB.NET 中與數(shù)據(jù)類型有關(guān)的變化為:(1)在.NET 下,VB.NET 中的Integer 數(shù)據(jù)類型也是4 個字節(jié)。 (2)VB.NET 沒有Currency 數(shù)據(jù)類型,作為代替,它提供了Decimal。 (3)VB.NET 引入了一種新的數(shù)據(jù)類型,叫做Char。Char 數(shù)據(jù)類型占據(jù)2 個字節(jié),可以存儲Unicode 字符。(4)VB.NET 沒有Variant 數(shù)據(jù)類型。 為了得到與Variant 類型相同的結(jié)果,可以使用Object 數(shù)據(jù)類型。 因為在.NET 中的一切(包括原始數(shù)據(jù)類型),都是一個對象,一個Object 類型的變量,它可以指向任何數(shù)據(jù)類型。 (5)在VB.NET 中沒有固定長度字符串的概念。

      在VB6.0 中,我們使用Type 關(guān)鍵字來聲明用戶自定義結(jié)構(gòu)。 VB.NET 引入了與此目的相同的結(jié)構(gòu)關(guān)鍵字Structure,語法的其他部分是相同的。

      2.2 變量聲明

      在VB6.0 中不能同時用一個類型名聲明多個變量和初始化變量[2],而VB.NET 則支持這個特性。如在一個簡單的VB6.0 例子“Dim x,y As Integer”中,VB6.0 將x看成Variant,把y 看成Integer。 VB.NET 改進(jìn)了這個解釋,它將x 和y 都創(chuàng)建成Integer。另外,VB.NET 還允許在聲明語句中為變量賦初始值[3],如:Dim str1 As String=“hello”。

      VB.NET 還引入了Read-Only(只讀)變量。 只讀變量不像常數(shù),聲明它的時候不用初始化,但是一旦你給它賦值,就不能再修改。

      2.3 數(shù)組

      使用VB6.0 時,用戶可以通過編程來自由定義數(shù)組的上限和下限。 而在VB.NET 中,數(shù)組的下限總是0,若定義數(shù)組為:Dim a (50) As String,實際創(chuàng)建的元素是51 個,其中0 是下限,50 是上限。

      2.4 Set 和Let 聲明

      在VB6.0 中,出于默認(rèn)屬性的原因,必須使用Set 聲明為變量分配一個對象例示。 也就是說,要給對象本身指定一個變量(與對象的默認(rèn)值屬性值相反),就必須要使用Set 關(guān)鍵字。 但是在VB.NET 中,是不允許默認(rèn)屬性的(除非是參數(shù)化了的屬性),因此就不需要使用Set 關(guān)鍵字。 同樣,Let 關(guān)鍵字也從VB.NET 的語法中去掉了。

      2.5 錯誤處理

      VB.NET 最終結(jié)合了結(jié)構(gòu)化錯誤處理。 關(guān)鍵字Try、Catch 和Finally 使得錯誤處理變得簡單,也使VB.NET 與C++或C# 這些語言可以并列起來。 Try… Catch 的模式允許開發(fā)人員將可能導(dǎo)致例外的代碼放置在一個Try 模塊中。 如果那個代碼確實造成了一個例外(與造成錯誤同義),就執(zhí)行Catch 模塊中的代碼[4]。

      2.6 靜態(tài)方法

      靜態(tài)方法指的是那些不需要開發(fā)人員創(chuàng)建類的例示就能調(diào)用的方法。 例如有一個名為L 的類,其中有一個非靜態(tài)方法NonStatic()和一個靜態(tài)方法Static(),就可以通過“L.Static()”調(diào)用靜態(tài)方法。 但是,非靜態(tài)方法則需要創(chuàng)建類的一個例示,如:

      Dim ObjL as NewL()

      ObjL.NonStatic()

      VB.NET 允許在類中創(chuàng)建靜態(tài)方法。 創(chuàng)建時,只需要給方法定義、加上前綴Shared 關(guān)鍵字即可。

      2.7 程序和函數(shù)

      在默認(rèn)狀態(tài)下,VB6.0 中所有的程序參數(shù)都是通過引用方式(ByRef)來傳遞的,而VB.NET 是用值方式(ByVal)來傳遞的。 不管程序和函數(shù)是否接收參數(shù),當(dāng)調(diào)用它們的時候都需要圓括號。 VB6.0 中,函數(shù)返回值使用語法為:FunctionName=return_value。在VB.NET 中, 可 以 使 用Return 關(guān) 鍵 字, 以return_value 方式來表示返回值,也可以繼續(xù)使用舊的語法。

      2.8 屬性語法

      在VB6.0中,我們使用了Property Get 和Prop erty Set/Let 在類中創(chuàng)建屬性。 它們分別出現(xiàn)在單獨的程序中[1],如:

      Public Property Get PropertyName () as DataType

      ……

      End Property

      Public Property Let PropertyName (value as DataType)

      ……

      End Property

      在VB.NET 中,Property Get 和Property Let/Set這兩個語句被合并成一個Property 語句,而不再是兩個單獨的語句[1]。 另外,在Property 語句的Set 部分中,變量Value 指的是用戶給指定屬性賦值時輸入的那個值。

      Public [ReadOnly|WriteOnly] Property Property Name as DataType

      Get

      Return m_var

      End Get

      Set

      m_var = Value

      End Set

      End Property

      2.9 類成員訪問域

      除了原有的Private 和Public,VB.NET 引入了幾個新的關(guān)鍵字。 全部訪問域關(guān)鍵字如表1 所示。

      表1 VB.NET 全部訪問域關(guān)鍵字列表Table 1 All access domain keywords list of VB.NET

      另外,VB.NET 引入了命名空間 (namespace)的概念,每個類都?xì)w屬于某個namespace。 一個name space 是類和組件的邏輯組合,其目的在于將.NET class 按類別定義。

      3 結(jié)語

      以上分析是作者根據(jù)應(yīng)用VB 6.0 和VB.NET的經(jīng)驗作的一個小結(jié)。 通過這些比較,兩者之間的異同可見一斑。 隨著科學(xué)技術(shù)的快速發(fā)展,也將會有一些功能更強大、 應(yīng)用更方便的編程語言出現(xiàn)(如VB2005、VB2008 等), 這將需要我們不斷的學(xué)習(xí)和總結(jié)。

      [1] 朱小平,曾文權(quán),段班祥. Visual Basic.NET 程序設(shè)計[M].北京:清華大學(xué)出版社,2007:1-5,62-63,104-105.

      [2] 李光明.中文Visual Basic 6.0 程序設(shè)計教程[M]. 北京:冶金工業(yè)出版社,2002:22.

      [3] 黃玉春. Visual Basic 程序設(shè)計與實訓(xùn)教程[M]. 北京:清華大學(xué)出版社,2006:25-26.

      [4] 劉懷亮. Visual Basic.NET 程序設(shè)計[M]. 北京:冶金工業(yè)出版社,2007:20.

      猜你喜歡
      數(shù)據(jù)類型關(guān)鍵字語句
      履職盡責(zé)求實效 真抓實干勇作為——十個關(guān)鍵字,盤點江蘇統(tǒng)戰(zhàn)的2021
      華人時刊(2022年1期)2022-04-26 13:39:28
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      重點:語句銜接
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      成功避開“關(guān)鍵字”
      精彩語句
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
      誘導(dǎo)性虛假下載鏈接不完全評測
      作文語句實錄
      昭觉县| 海原县| 枣强县| 芜湖县| 新宁县| 咸宁市| 麻栗坡县| 连州市| 苗栗市| 石嘴山市| 惠来县| 太康县| 中山市| 顺昌县| 十堰市| 新沂市| 黄梅县| 杨浦区| 津市市| 龙川县| 岳阳市| 武邑县| 壶关县| 苏州市| 清涧县| 叶城县| 常熟市| 阳东县| 凉城县| 华宁县| 旬邑县| 阿克陶县| 博客| 怀集县| 都昌县| 镇巴县| 叙永县| 理塘县| 花莲县| 宝清县| 丰顺县|