自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析VB.NET語言到底帶來了什么

開發(fā) 后端
這里介紹VB.NET,包括介紹VB發(fā)生了顛覆性的重大變化,這就是本文要探討的宗旨,我們要引領(lǐng)讀者領(lǐng)略一下VB.NET語言到底給我們帶來了什么。

VB.NET語言經(jīng)過長時間的發(fā)展,很多用戶都很了解VB.NET語言了,這里我發(fā)表一下個人理解,和大家討論討論。

VB.NET語言到底給我們帶來了什么

微軟公司推出的.NET 平臺完全改變了VB的編程世界。.NET 戰(zhàn)略邁出的首要一步就是發(fā)布了最新的軟件開發(fā)包: Visual Studio.NET。開發(fā)團(tuán)體對新一門編程語言C# 議論紛紛,但在這紛繁的變化之中人們卻忽略了一個更為重要的新聞:VB發(fā)生了顛覆性的重大變化,這就是本文要探討的宗旨,我們要引領(lǐng)讀者領(lǐng)略一下VB.NET語言到底給我們帶來了什么。

.NET世界內(nèi)的每一種編程語言都必須和CLR(公共語言運(yùn)行時:Common Language Runtime)打交道。你完全可以把這個新事物看成類似以往必須分派的VB運(yùn)行時,當(dāng)然,和老家伙相比,新玩意兒的規(guī)模更大,有些很酷的小東西也取消了。為了應(yīng)付公共語言運(yùn)行時, VB也必須隨之有所改變,最重要的就是支持真正的面向?qū)ο缶幊獭J堑?,你早就?jīng)常用VB處理各種對象了,某些VB開發(fā)人員甚至反復(fù)地在IDE內(nèi)“實(shí)現(xiàn)”面向?qū)ο蟮腣B程序,但是, VB6確實(shí)沒有達(dá)到支持面向?qū)ο笳Z言所應(yīng)該達(dá)到的合理程度。

這可不是說VB開發(fā)人員就不知道面向?qū)ο蟮暮?。但是從某種意義上說,VB程序員因為VB所限多少懸在了面向?qū)ο蠛蛡鹘y(tǒng)編程的半空中。結(jié)果呢,大多數(shù)VB程序員不過是典型的過程編程的實(shí)踐者,對面向?qū)ο蠹夹g(shù),比如COM可以說很少體驗。這一事實(shí)令微軟公司必須面臨抉擇:程序員的思想共享可是技術(shù)領(lǐng)域最有價值的無形資產(chǎn)??!最激進(jìn)的變革無非是讓.NET把 VB扔到一邊,讓競爭對手如Java之類緊緊俘獲程序員的心靈。好在茫然之際曙光初現(xiàn):VB.NET來了。

語法和VB.NET語言變了樣

學(xué)習(xí)編程語言的語法通常比學(xué)習(xí)圍繞這一語言的技術(shù)行話要容易得多。超出編程語言的領(lǐng)域再看,這一事實(shí)對Web編程和面向?qū)ο蟮雀鼮榇笮偷能浖こ桃餐瑯佑行?。在向面向?qū)ο蠹夹g(shù)進(jìn)軍途中最令人畏懼的任務(wù)就是理解一大堆陌生的面向?qū)ο笮g(shù)語,比如繼承和重載等等。這些術(shù)語(比如類)往往具有不同的含義。

類是面向?qū)ο蠹夹g(shù)的核心概念。當(dāng)然,目前的VB語言也支持類技術(shù),但是,對VB.NET而言情況就完全不同了。對初學(xué)者來說,類開始和終止于某個代碼塊而非一個具體的文件。Public Class MyClass….End Class定義了一個類;這樣只在一個文件里就可以定義多個類。其次,你再也不能對類進(jìn)行“SET”操作;實(shí)際上,你干脆把關(guān)鍵詞SET忘了吧!對屬性的讀取和賦值也取消了;它們都用一種更為智能的語法代替了。最重要的是,你必須把自己定義的類設(shè)想為物理實(shí)體的虛擬代表。CLR在對象分配時表現(xiàn)如此之好動作如此之快以至于創(chuàng)建對象的代價幾乎為0。在VB編程中,開發(fā)人員創(chuàng)建一個很棒的對象往往勉為其難,這可是個很大的缺陷,原因就在于整個過程拖拉的可以,現(xiàn)在這些問題都被解決了。

重載

開發(fā)人員經(jīng)常為滿足特定需要而編寫一塊代碼。隨著開發(fā)工作的繼續(xù),這段代碼往往會逐漸包括越來越多的功能。這種代碼膨脹現(xiàn)象有時會讓處理參數(shù)的數(shù)目多得驚人。到這個地步,你就必須增加相當(dāng)可觀的邏輯針對這些傳遞過來的參數(shù)做出執(zhí)行決策,否則你就可能不得不創(chuàng)建更多的函數(shù)而它們要做的事情卻幾乎差不多。這種情況存在大量的問題,這些令人頭痛的問題正好可以通過方法重載技術(shù)來
解決。

方法重載技術(shù)可以讓程序員編寫多個名字一樣的方法,但這些方法的傳遞參數(shù)卻不同。在方法被調(diào)用的時候,參數(shù)列表會被自動計算然后調(diào)用正確的方法。在這種情況下,你就不必編寫任何判斷邏輯來處理需要執(zhí)行的程序代碼了。

構(gòu)造

當(dāng)類被創(chuàng)建或者破壞時需要調(diào)用某些特殊的函數(shù)。你可能在VB6中已經(jīng)熟悉這些函數(shù)了,在VB6中它們就是Class_Initialize和 Class_Terminate程序。在這些程序中增加邏輯也是可能的,而增加參數(shù)則絕不被允許。在創(chuàng)建類的時候有條件準(zhǔn)備的資源還不可用。而在 VB.NET環(huán)境下,這些公共方法,也就是類構(gòu)造器和破壞器,其處理能力被大大擴(kuò)展了。最有用的變化就是可以在New方法中增加參數(shù),而后者正是代替 Class_Initialize的方法。這一特性被稱作“參數(shù)化構(gòu)造器”,可以令類的內(nèi)部資源分配效率更高。你可以用這種技術(shù)重載New方法而獲得令人難以置信的靈活性。

【編輯推薦】

  1. 討論VB.NET簡單數(shù)據(jù)類型
  2. 概括VB.NET獲取網(wǎng)卡地址的步驟
  3. VB.NET字符串?dāng)?shù)組全面分析
  4. 淺談VB.NET使用FileVersionInfo類
  5. 詳談VB自定義類型參數(shù)的傳遞
責(zé)任編輯:佚名 來源: cnbeta
相關(guān)推薦

2009-10-23 12:53:25

VB.NET語言

2009-10-15 17:41:14

VB.NET Impo

2009-11-03 09:26:13

VB.NET方法

2009-10-29 16:46:32

VB.NET語言

2009-11-03 13:48:02

VB.NET枚舉

2009-10-10 15:43:51

2009-10-13 15:20:02

VB.NET使用Dra

2009-10-16 14:07:18

VB.NET使用Mon

2009-11-03 10:00:20

VB.NET New方

2009-10-12 14:32:40

VB.NET實(shí)現(xiàn)定時關(guān)

2009-10-28 17:44:31

VB.NET語言

2009-10-26 17:24:42

VB.NET終端服務(wù)啟

2009-10-14 10:08:05

VB.NET編寫DEC

2010-01-13 17:16:37

VB.NET冒號

2009-11-02 17:49:05

VB.NET抽象類

2009-11-03 12:52:38

VB.NET Wind

2009-10-28 09:47:01

VB.NET局部靜態(tài)變

2009-11-02 17:24:57

VB.NET語言

2009-10-16 15:06:13

VB.NET組合時間值

2009-10-16 09:21:49

VB.NET開發(fā)自動分
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號