最近在學習VB.NET 這塊的東西,自然而然就會想到VB.NET與VB6是什麼關係。
宏觀上來講就是從基於對象變成了完全的物件導向,因此不能簡單的說VB.NET是VB6.0的升級版本。在學習VB.NET之前,已經接觸過C++和VB,所以在學習VB.NET的時候總能看到他們的影子,那種似曾相識的感覺讓我不得不仰天長歎:這VB.NET簡直就是混搭版本的程式設計語言啊。
在1991年Visual Basic1.0誕生以前,開發人員不得不使用C++和Windows系統本身的未成形的程式塊,即所謂的Windows API來編寫程式。因此那時的程式設計只屬於經過嚴格正規訓練的專業人士,而VB的出現改變了這一切,VB的易用性以及經過多年的改進,使VB在程式世界佔據了主導地位,但是也正因為它太簡單,被很多人認為是“玩具”語言,原因是它不支援C++和Java這類進階語言的一些機制。於是乎,VB 7.0沒有出現,取而代之的是VB.NET。
VB.NET是VisualStudio.NET的組成部分,後者是一個工具和語言的組合,其中也包括了C#和Visual C++.NET。個人認為,VB.NET具有VB語言的身體,擁有物件導向的靈魂。
如果你熟悉VB,那麼你只需瞭解一下VB.NET的物件導向家機制即可快速進行應用程式的編寫,VB.NET在VB的基礎上增加了很多東西,也拋棄了很多不好的東西,下面我們重點瞭解一下,VB.NET都有什麼改變。
首先一個很大的特點就是引入命名空間的機制,命名空間(Namespace)是用來定義和管理類別的範疇,查閱Framework的類庫可以看到.NET我們提供了非常多的Namespace,比如System Namespace就包含了Console、Object等類型的定義。
周所周知,VB6.0不支援繼承、重載和介面,所以它並不是物件導向的語言,而VB.NET則支援這些物件導向的的特性,我們可以看作是從C++語言繼承過來的。
還有視頻中講解了在VB.NET中如何進行異常處理,其方法和VB是不一樣的。在VB6.0中我們使用On Error GOTo和On Error Resume Next等語句來處理異常,這種錯誤處理機制被稱為非結構化異常處理,而VB.NET 則改成了結構化異常處理機制,使用Try…Catch…Finally進行異常處理,類似於C++。
在視頻的最後部分講解了多線程的程式設計,熟悉VB語言的朋友們都知道,VB的一個大的缺陷就是不支援多線程程式設計,而VB.NET將這點進行了補充,在.NET Framework中,所有語言共用CRL,因此你可以使用VB.NET C# 或者其他.NET語言進行多線程程式的設計。
以上只是從幾個大的方面去探討了VB.NET語言的一些特性,至於更多和更細的差別留給讀者自己去查閱資料,進行瞭解和學習,比如什麼資料類型的長度問題,關鍵字的變化,變數聲明的變化以及流程式控制制語句的變化等等。
VB.NET是一種極具親和力的程式設計語言,接近自然語言的語言表達讓人們更加容易讀懂和編寫出相應的代碼,這樣看來它似乎是一種進階程式設計語言,無可厚非,它的確是Basic系中目前為止最為強大的程式設計語言,其應用程式套件括Windows傳統型程式,Web應用程式,以及最近很流行行動裝置應用程式。