會(huì)vbvb點(diǎn)虐 的簡單介紹

VB與VB點(diǎn)虐 各自優(yōu)勢與區(qū)別

' 關(guān)于VB點(diǎn)虐 { Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語言,可以看作是Visual Basic在.Net Framework平臺上的升級版本,增強(qiáng)了對面向?qū)ο蟮闹С?。但由于改?dòng)太大,導(dǎo)致VB點(diǎn)虐 對VB的向后兼容性不好,在業(yè)界引起不小的爭議。 } ' VB點(diǎn)虐 與VB6.0的主要區(qū)別 { VB.Net需要在.Net Framework平臺上才能執(zhí)行,因此,大多的VB.Net程序員使用Visual Studio.Net作為IDE(integrated development environment-集成性的開發(fā)環(huán)境)開發(fā)點(diǎn)虐 應(yīng)用程序。 VB6生成的應(yīng)用程序不需要.Net Framework框架的支持。 因此,使用VB點(diǎn)虐 開發(fā)的應(yīng)用程序只能在裝有.Net Framework框架的系統(tǒng)中運(yùn)行。 } ' VB點(diǎn)虐 與VB6.0的編程思想 { 網(wǎng)上流傳的VB與VB點(diǎn)虐 差別被過分夸大。其實(shí)VB點(diǎn)虐 改善的只是完整的面向?qū)ο笏枷耄?0%語法與VB6.0保持一致。 抽象、封裝、多態(tài)、繼承是面向?qū)ο笳Z言的四個(gè)基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向?qū)ο蟮木幊陶Z言。 } ' VB點(diǎn)虐 與VB6.0的應(yīng)用前景(個(gè)人觀點(diǎn) By 刺猬) ( 介于現(xiàn)在應(yīng)用最為廣泛WindowsXP操作系統(tǒng)沒有預(yù)裝點(diǎn)虐 framework的原因,許多VB程序員采用VB6.0開發(fā)應(yīng)用程序;但現(xiàn)在不一樣了,在未來,WindowsXP系統(tǒng)必將面臨淘汰。繼Vista以后,系統(tǒng)都預(yù)裝了點(diǎn)虐 framework框架,由此看來,微軟正在極力推崇使用點(diǎn)虐 技術(shù)。或許,點(diǎn)虐 應(yīng)用程序的開發(fā)在未來會(huì)有很大的發(fā)展前景。 }

專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)霍林郭勒免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

求采納

學(xué)VB還是VB點(diǎn)虐 好?

細(xì)說VB.NET(上)

(作者:青蘋果工作室編譯 2001年03月07日 14:47)

微軟公司提出的.NET概念,正從各個(gè)方面滲入到我們的生活中。它將產(chǎn)生的作用,

誠如一位業(yè)內(nèi)名家所描述的:“請忘掉你認(rèn)為你所知道的,.NET將改變一切”!既然如

此,無論是IT業(yè)內(nèi)人士、還是企業(yè)決策者,快速領(lǐng)會(huì)這個(gè)新概念的含義及深遠(yuǎn)影響,

都顯得非常必要。

概要

VB正在不斷地發(fā)展中,它具備了以前VB編程人員作夢都想擁有的性能,想象一下你

將隨心所欲的利用這些性能,是不是很令人激動(dòng)?然而,這個(gè)計(jì)劃于2001年第四季度上

市銷售的VB版本可能會(huì)給你帶來些小麻煩,因?yàn)橐耆莆账枰粋€(gè)較長的學(xué)習(xí)周期

,而且其中包括了一些微妙的變化,你可能在使用他們的時(shí)候出現(xiàn)錯(cuò)誤。

需要準(zhǔn)備的條件:建議獲得Visual Basic.NET beta 版,這些內(nèi)容對所有VB程序員

都是有用的。

Microsoft .NET平臺的涵蓋面很廣,而且很難預(yù)測它的真正意義。我們注意到,現(xiàn)

在有很多關(guān)于.NET的不正確的理解。因此在這篇文章里,我們將把給你一個(gè)VB.NET到底

是些什么的概念,從頭到尾說一說它是什么、它能干什么以及怎樣才能充分發(fā)揮它的優(yōu)

點(diǎn)。我們要特別地細(xì)看一下IDE的改變、面向?qū)ο筇卣?、底層結(jié)構(gòu)的改變、一些“現(xiàn)代化

”的語法以及包裝和分發(fā)方面的增強(qiáng)。我們將討論這些功能能為你做什么,解釋他們的

優(yōu)點(diǎn)與不足。由于這些改變是如此之大,而且涉及方方面面,因此希望這一篇文章能滿

足你全部的要求是不現(xiàn)實(shí)的,要了解這方面全部的知識請參閱有關(guān)文章和書籍。

Visual Basic.NET 和你現(xiàn)在所知的開發(fā)工具完全不同,并且這個(gè)新版本會(huì)改變你的

未來。到底有多大不同?如果你覺得從VB3遷移到VB4是一個(gè)很大的變化,那這次VB.NET

會(huì)讓你感到震驚。這次升級與其說是VB的一個(gè)新版本,還不如說是遷移到一個(gè)新平臺上

,你所面臨的情況就和從DOS遷移到Windows差不多。

VB獲得了繼承能力

VB.NET預(yù)期擁有的第一新功能就是繼承能力。繼承是VB開發(fā)者長期以來要求得最多

的功能。判斷一下對繼承的要求是不是像早些時(shí)候?qū)Ρ镜鼗幾g器的要求一樣將是一件

很有意思的事,后者,當(dāng)Microsoft提供了一個(gè)以后,你就幾乎聽不到多少這方面的言語

了。

Visual Basic現(xiàn)在是真正的面向?qū)ο笳Z言了。過去,你可以通過使用VB的界面繼承

性創(chuàng)建偽實(shí)現(xiàn)的對象繼承,但現(xiàn)在不必這樣做了。

Visual Basic.NET 現(xiàn)在提供大量面向?qū)ο蠊δ?,包括?yīng)用程序繼承,它允許你從其

它類導(dǎo)出你想創(chuàng)建的類。像在其它面向?qū)ο笳Z言里一樣,你能覆蓋基類的方法和屬性,

并且能實(shí)現(xiàn)多態(tài)以創(chuàng)建健壯的、擴(kuò)展性好的組件。例如,假定你從基類 Crane里繼承產(chǎn)

生了一個(gè)ForkLift類,你能使用像下面的代碼覆蓋基類里對Lift方法的默認(rèn)實(shí)現(xiàn):

Public Class ForkLift

Inherits Crane

Overrides Sub Lift(ByRef _

Height As Double)

Height = Height + 10

End Sub

End Class

VB.NET不僅能讓你覆蓋方法或?qū)傩裕凰€能讓你重載方法。重載是定義同名、但使

用不同數(shù)據(jù)類型的方法或?qū)傩缘哪芰Α@?,假定你有一個(gè)組件能對不同數(shù)據(jù)類型的數(shù)

組進(jìn)行排序,你不需要三個(gè)(每種數(shù)據(jù)類型一個(gè))不同名的方法;實(shí)際上你可以重載一個(gè)

方法名:

Overloads Sub SortArray(ByRef _

aValues()As String)

...

Overloads Sub SortArray(ByRef _

aValues() As Integer)

...

Overloads Sub SortArray(ByRef _

aValues() As Object)

另一個(gè)改變是:表單現(xiàn)在是類模塊。這就是說類本身包含建立表單的所有“肥料”

的代碼。你可能想知道,為什么你不得不看到這些從前不用看的代碼,但這個(gè)改變同時(shí)

帶來強(qiáng)大的新功能,包括繼承這些表單的能力。Microsoft把這一技術(shù)稱為可視化繼承。

假定你的對話框有一種標(biāo)準(zhǔn)的格式,例如在表單的一側(cè)有一行按鈕,并在角上有一個(gè)標(biāo)

識,那么,通過可視化繼承你能創(chuàng)建一個(gè)表單模板(類),并從這個(gè)基類里導(dǎo)出所需的表

單。

一切都是對象

代碼復(fù)用簡化了開發(fā)過程,像實(shí)現(xiàn)和可視化繼承這樣的功能有利于更簡單、更強(qiáng)大

的代碼復(fù)用。然而,代碼復(fù)用并不是到此為止。你能通過支持VB.NET的通用語言運(yùn)行庫

(Common Language Runtime - CLR)繼承在其它 VS.NET 語言里定義的類。例如,你或別

人創(chuàng)建了一個(gè) C# 類,然后就能從 VB 里繼承它。

VB.NET 的面向?qū)ο竽芰U(kuò)展了語言本身的通路:一切都是對象。這意味著比在以前

的 VB 版本里,你獲得了更多的內(nèi)在功能,你將很少被迫使用 Windows API。例如,在

以前的 VB 版本里,你使用 LoadPicture 方法加載圖片并使用表單的 Line 方法(或較

快的 API) 畫線。現(xiàn)在,你使用 System.Drawing 對象來創(chuàng)建并處理圖形。你可以使用

以下代碼在表單上顯示一幅圖片:

picshowpicture.Image = _

system.Drawing.Image.FromFile( _

"c:\test.bmp")

注意 VB.NET 的“一切都是對象”方式讓你的語句能用得更長久。

考慮以下語句,它在一個(gè)圖形對象上畫一條黃綠色的線:

objgraphics.DrawLine(system.Drawing. _

Pens.Chartreuse, 0, 0, 100, 100)

這些長長的語句也有好處:改進(jìn)的功能、適應(yīng)性和易用性。從前,你要實(shí)現(xiàn)先進(jìn)的

功能就不得不在文檔中挖掘,經(jīng)常是不得不訴諸API?,F(xiàn)在,相關(guān)的功能集符合邏輯地包

含在對象里。這種處理方式的另外一個(gè)好處就是:類把相關(guān)的功能很好的組織了起來。

所以,瀏覽你感興趣的對象,發(fā)現(xiàn)它們做些什么實(shí)際上很有意思。

Visual Basic.NET 的面向?qū)ο蠊δ芴峁┝撕芏鄬?shí)在的好處。很多情況下,VB.NET

面向?qū)ο蟮谋举|(zhì)和實(shí)現(xiàn)的繼承性能幫助你比在以前的 VB 版本里更容易、更迅速地創(chuàng)建

特定類型的功能。然而,你不一定要僅僅因?yàn)槟隳茏龅?,就使用?shí)現(xiàn)繼承性或其它 .NE

T 功能。VB.NET 的新功能使開發(fā)許多類型的應(yīng)用程序變得更簡單!但是,就像使用所有

的語言能力一樣,你需要使用的是在特定場合下最適合的功能。

自由線程的危險(xiǎn)

對于自由線程可能需要特別給出警告。VB6允許你使用獨(dú)立的線程來創(chuàng)建多線程服務(wù)

器程序,但VB過去從來沒有讓你能創(chuàng)建自由線程的客戶端程序。VB.NET 改變了這一切。

現(xiàn)在,創(chuàng)建自由線程應(yīng)用程序幾乎成了最微不足道的事情。實(shí)際上,我估計(jì)那些沒有理

解其中的微妙差別,就在他們的應(yīng)用程序里添加了自由線程的程序員會(huì)遇到很多問題。

只需要幾行代碼就能啟動(dòng)一個(gè)新線程:簡單地將線索對象的地址傳遞給方法,方法本身

就會(huì)啟動(dòng)線程。這確實(shí)是很酷也很有用的東西,但你需要小心:這些功能適用于特定的

場合,確定哪些是適用的場合并且明智的使用這些工具則是你自己的事。許多開發(fā)者使

用繼承性和自由線程時(shí)給自己找了不少麻煩,請不要讓這些發(fā)生在你身上。

可能大家討論得最多的 VB.NET 特征就是 CLR (通用語言運(yùn)行庫),VB 運(yùn)行在它的

頂層上。是 CLR 提供了 VB.NET 的許多關(guān)鍵功能。例如,CLR 使實(shí)現(xiàn)和跨語言繼承性以

及自由線程成為可能。

分發(fā)VB程序要求你同時(shí)分發(fā)VB的運(yùn)行庫,在VB6里即是msvbvm60.dll。許多其它語言

也有類似的要求,包括 C++ 和 Java。在Visual Studio.NET里,所有的Visual Studio

語言共享同一個(gè)運(yùn)行庫:CLR。這里有幾個(gè)較大的變化,首先,所有的Visual Studio語

言現(xiàn)在都共享同一個(gè)IDE、同樣的表單引擎、同樣的異常處理機(jī)制等等。這意味著Visua

l Basic和像 C#這樣的語言擁有同等的地位,至少差不多是同等的。

回復(fù):

細(xì)說VB.NET(中)

(作者:青蘋果工作室編譯 2001年03月07日 14:47)

易于反編譯的中間語言

無論你用VB、C#或其它.NET語言編寫應(yīng)用程序,VS.NET代碼都編譯成為中間語言(I

L)。當(dāng)應(yīng)用程序運(yùn)行時(shí),一個(gè)即時(shí)編譯器(JITter)處理IL代碼并把它編譯成為機(jī)器語言

。這意味著在理論上可能為Windows以外的平臺創(chuàng)建.NET運(yùn)行庫,但現(xiàn)在關(guān)于類似的事情

還沒有任何官方消息。中間語言的一個(gè)缺陷是:它像VB5以前的VB版本一樣,容易被反編

譯。這種可能性使許多開發(fā)者普遍地質(zhì)疑.NET架構(gòu)的安全性。

CLR在IL層次內(nèi)外影響代碼,對它的修改將使所有使用CLR的語言受益。然而,語言

只是和代碼如何被解釋為IL有關(guān),對特定語言的優(yōu)化可以根據(jù)特定語言的語法來編寫,

這樣在技術(shù)上就可能使.NET語言之間的性能差別很小。不管怎樣,大體上藍(lán)圖是美好的

。例如,CLR使VB的調(diào)試和監(jiān)測工具和C#的相應(yīng)工具相當(dāng),它做到了這一點(diǎn)因?yàn)樗鼈儽緛?/p>

就是相同的工具。

CLR提供不平行的跨語言集成,包括跨語言繼承代碼的能力。所有使用CLR的語言共

享一個(gè)通用類型系統(tǒng),它使使用多種語言開發(fā)應(yīng)用程序變得更簡單。我不喜歡把 C API

聲明翻譯成VB里可以使用的形式,所以我很贊賞通用類型系統(tǒng)帶來的好處。

在CLR中運(yùn)行的代碼被稱為被管理代碼,被管理代碼使用的內(nèi)存完全由CLR來控制。

被管理代碼帶來很多好處,包括跨語言集成、跨語言異常處理和簡化的部件相互作用模

型。Visual Basic被限制為只能以被管理代碼的方式工作,然而C#擁有跳到非被管理代

碼的能力(執(zhí)行到運(yùn)行庫之外),并能做像指針操作這類事情。這是VB和C#不同等的情況

之一。這種能力到底有多重要取決于你想干什么。

CLR造成的體系結(jié)構(gòu)差別要比跨語言集成、共享功能和被管理代碼等深刻。首先,V

isual Studio.NET的支撐結(jié)構(gòu)不是 COM。另外,VB.NET里的所有東西,甚至字符串都是

對象。因?yàn)檫@些和其它一些原因,Microsoft改變了支撐結(jié)構(gòu)處理對象的方式。COM實(shí)現(xiàn)

了一個(gè)引用計(jì)數(shù)方案,這樣每次引用一個(gè)對象時(shí),計(jì)數(shù)器遞增。當(dāng)一個(gè)對象引用超出作

用域或被釋放時(shí),計(jì)數(shù)器遞減,當(dāng)引用計(jì)數(shù)減少到零時(shí)就終止這個(gè)對象。Microsoft聲稱

在.NET架構(gòu)下引用計(jì)數(shù)的開銷太大,以至于不能在 .NET中實(shí)現(xiàn)它,所以它放棄了引用計(jì)

數(shù)轉(zhuǎn)而使用垃圾收集。

垃圾收集需要新體系結(jié)構(gòu)

CLR垃圾收集器主要是監(jiān)視一個(gè)程序的資源,當(dāng)可用資源達(dá)到確定的閾值時(shí)尋找無用

的對象,并在發(fā)現(xiàn)它們的時(shí)候清除這些對象。垃圾收集的一大好處就是你不再需要擔(dān)心

大多數(shù)普通的循環(huán)引用,即子對象引用了父對象,然后父對象又引用了子對象。在引用

計(jì)數(shù)方案下,循環(huán)引用使兩個(gè)對象都不能被釋放和清除。然而,垃圾收集器會(huì)發(fā)現(xiàn)循環(huán)

引用并清除它們。這也意味著釋放對象的最后一個(gè)引用時(shí)不再需要立即清除對象。

垃圾收集的一個(gè)后果是:你再也不能指望一個(gè)類的 Terminate 事件能在適當(dāng)?shù)臅r(shí)機(jī)

發(fā)出。實(shí)際上,如果線程被阻塞,可能根本就不會(huì)發(fā)出 Terminate 事件。和COM提供的

確定化終止相反,它被稱為不確定的終止。缺乏確定化終止,以及因?yàn)槔占髦匦?/p>

安排并壓縮內(nèi)存從而不能使用指針的事實(shí),在新聞組里激發(fā)了一波激烈的辯論。我想這

些新限制可能會(huì)令你痛恨,因?yàn)槟阋揽看_定化終止;也可能你漠不關(guān)心,因?yàn)槟悴灰?/p>

賴 Terminate 事件。垃圾收集并不是萬靈藥,實(shí)現(xiàn)弱引用依然需要做一些考慮。

從引用計(jì)數(shù)到垃圾收集只是 Visual Studio.NET 的支撐結(jié)構(gòu)不是 COM 這個(gè)事實(shí)的

表象之一。你能在VB.NET中使用COM對象,比如說ActiveX服務(wù)器或ActiveX控件。然而,

你必須通過包裝訪問這些對象。任何時(shí)候聽到“包裝”這個(gè)術(shù)語,你應(yīng)該明白你面對著

性能損失,并且對象的行為可能有所不同。如果當(dāng)計(jì)劃移植一個(gè)使用了大量COM對象的工

程,就需要認(rèn)真地測試和計(jì)劃,可能需要重新規(guī)劃應(yīng)用程序的結(jié)構(gòu)才能移植成功。坦率

地說,你要有遭受挫折的準(zhǔn)備。還記得從VBX遷移到 OCX的過程嗎?我記得,我的精神病

醫(yī)生也記得。我很快就要再去看他了 ;-)

語言本身的變化要遠(yuǎn)遠(yuǎn)超過體系結(jié)構(gòu)的變化。大部分改變確有道理,但我并不認(rèn)為

所有的改變都是如此。以前版本的VB允許你以很多方法來做很多事,以至于統(tǒng)一的編碼

標(biāo)準(zhǔn)要么不存在要么就很難強(qiáng)加于人。Microsoft對VB做了大量的改變?yōu)榈木褪恰扒逦?/p>

這種語言。很多情況下,原來你有好幾種方法做一件事,現(xiàn)在就只有一種了。Billy Ho

llis 提供了語法變化的詳細(xì)列表,包括廢棄的關(guān)鍵字列表,但有些東西需要在這里重復(fù)

一下。

首先,向過程參數(shù)傳遞數(shù)據(jù)的默認(rèn)方法由引用(ByRef)變成了傳值(ByVal)。這個(gè)改

變主要是因?yàn)橐靡葌髦档娘L(fēng)險(xiǎn)大得多。它的風(fēng)險(xiǎn)主要是調(diào)用過程中的數(shù)據(jù)可能被無

意中篡改。你仍然能通過引用傳遞數(shù)據(jù),但這一改變使你需要修改新的默認(rèn)調(diào)用方法來

使用引用。

Set語句消失了

其次,Set 語句消失了。在 VB.NET 里如果你需要向變量傳遞一個(gè)對象引用,所需

要的只是一個(gè)等號,對象被視為同其它值一樣。這很酷,但也有副作用:默認(rèn)屬性消失

了。例如,你不再能用這種方式引用一個(gè)屬性:

Text1 = "What, me worry?"

作為替代,你必須顯式地引用屬性:

Text1.Text = "What, me worry?"

也許一眼看來不需要這種改變,但確實(shí)必須去掉默認(rèn)屬性。例如,假定你有一個(gè)叫

objFoo的對象變量,不用Set語句,下面的語句所設(shè)置的引用就產(chǎn)生了歧義性:

objFoo = Text1

這條語句是應(yīng)該設(shè)置到Text1的引用,還是以Text1的Text屬性來填充objFoo?你不

能確定,編譯器也不能。拋棄Set語句同時(shí)要求拋棄默認(rèn)屬性。

有一個(gè)改變我不喜歡:你不再能在不同的作用域里聲明Property Get和Property S

et過程。注意 VB.NET 沒有 Property Let 語句:對象和數(shù)值都用 Property Set。這意

味著你不能用一個(gè) Friend Property Let 過程來對應(yīng)一個(gè) Public Property Get。用V

B建立組件時(shí)可能會(huì)有麻煩。許多組件開發(fā)者創(chuàng)建 Friend Property Set 過程以使他們

的應(yīng)用程序能改變一個(gè)值,但提供 Public Property Get 過程以使他們的客戶程序能取

回值。我希望我能為這個(gè)改變找到一個(gè)合適的理由,可是我找不到。

Microsoft說它力圖使語言保持清晰并使之現(xiàn)代化—大部分情況下它做得不錯(cuò)—但這

個(gè)作用域問題和其它幾個(gè)問題令人感到困惑。例如,While...Wend 很早以前就應(yīng)該消失

了,因?yàn)?Do...Loop 完成同樣的功能。然而,Microsoft 不僅沒能去掉 While...Wend

,還把它改成了 While...End While 來給自己找了更多的麻煩。真奇怪!

我最不喜歡的改變是:Microsoft改變了你已經(jīng)使用的數(shù)據(jù)類型含義。在 .NET 里,

Integer 現(xiàn)在是 32 位,而 Long 變成了 64 位。我心存恐懼地想:開發(fā)者 (包括我自

己) 會(huì)多么頻繁地使用錯(cuò)誤的變量啊。那個(gè)API到底是接受一個(gè)16位的 Integer還是32位

的?老天!我希望Microsoft重新考慮這個(gè)決定并使用新的變量類型,比如Int32和Long

64。無論遷移到 VB.NET的移植工具是多么的好,它也不能改變開發(fā)者的記憶。為什么要

逼著我們再學(xué)一遍普通的數(shù)據(jù)類型呢?

最后,最需要的一個(gè)改變是:VB.NET引入了 Option Strict 關(guān)鍵字,你可以使用它

來代替 Option Explicit。Option Strict 結(jié)束了萬惡的類型強(qiáng)制(tm),通過它VB樂于

讓你把一個(gè)數(shù)值賦值給一個(gè)字符串,然后像犯罪一樣做另一個(gè)操作。設(shè)置 Option Stri

ct 告訴 Visual Basic.NET 不要為你做任何類型強(qiáng)制。注意 VB.NET 并不是徹底的控制

狂,它允許類型向下轉(zhuǎn)換,但不允許向上。例如,不使用像 sngvariable = CSng(dblv

ariable) 這樣的語句進(jìn)行顯式類型轉(zhuǎn)換,你就不能把聲明為 Single 的變量賦值給聲明

為 Double 的變量。因?yàn)檫@有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。然而,你能不使用顯式類型轉(zhuǎn)換就把聲

明為 Double 的變量賦值給聲明為 Single 的變量,因?yàn)檫@并沒有丟失數(shù)據(jù)的危險(xiǎn)。使

用 Option Strict 能幫助開發(fā)者減少很多類型錯(cuò)誤,包括那些很難調(diào)錯(cuò)的。但有一個(gè)附

加的缺陷:在工程里使用了 Option Strict 后,就不能進(jìn)行 后編聯(lián)了。

回復(fù):

細(xì)說VB.NET(下)

(作者:青蘋果工作室編譯 2001年03月07日 14:47)

表單和新IDE面孔

Visual Basic.NET 的面向?qū)ο蠊δ芎軅ゴ?,但第一次啟?dòng) VB.NET 時(shí)還注意不到它

??赡苣阕⒁獾降牡谝患率撬?IDE。IDE看起來可能很熟悉,建立VS.NET IDE的團(tuán)隊(duì)

以前的工作是開發(fā)VB的IDE,對IDE的增強(qiáng)借鑒了VB IDE的經(jīng)驗(yàn)。

同時(shí),IDE的改變遠(yuǎn)比外表顯示的深刻。所有.NET語言使用相同的IDE,并且IDE中的

新工具功能強(qiáng)大又易于理解。你能把任何一個(gè)設(shè)計(jì)窗口設(shè)置為自動(dòng)隱藏 (就像你能自動(dòng)

隱藏Windows任務(wù)欄那樣),這樣就大大地減少了混亂。主工作區(qū)域是一系列選項(xiàng)卡,這

意味著IDE不再同時(shí)顯式多個(gè)表單和代碼模塊。當(dāng)打開對象的源代碼時(shí),IDE在它的主工

作區(qū)域?yàn)楣ぷ鞯膶ο筇砑右粋€(gè)新的選項(xiàng)卡。

IDE還包括一個(gè)叫作任務(wù)表(Task List)的新窗口。它的內(nèi)容由IDE創(chuàng)建的項(xiàng)目組成。

例如,如果在試圖編譯一個(gè)工程時(shí)收到一個(gè)錯(cuò)誤,VB在任務(wù)表里創(chuàng)建一個(gè)項(xiàng)目來解釋這

個(gè)錯(cuò)誤。你能直接向任務(wù)表里添加項(xiàng)目,或者通過在代碼里以 "TODO:"開始一個(gè)注釋行

,你可以在代碼位置和任務(wù)之間建立聯(lián)系。我喜歡Microsoft實(shí)現(xiàn)任務(wù)表的方式;在程序

出爐前,都需要完成些什么?估計(jì)它能幫我省掉很多時(shí)間和麻煩。看到它時(shí),你最容易

產(chǎn)生的一個(gè)想法就是:以前怎么就沒人想到它呢?

你能注意到的另一個(gè)變化就是:VB.NET的表單。Microsoft廢棄了舊的表單引擎而使

用Windows Form代替它。所有基于 CLR的語言都使用Windows Form引擎。相對于VB6的表

單引擎,它有幾個(gè)重要的改進(jìn)。例如,Windows Form讓你能創(chuàng)建能自動(dòng)調(diào)整組件尺寸的

表單,并允許將控件錨定在表單里的特定位置。換句話說,不再需要使用第三方控件就

能完成這些特殊任務(wù)。Windows Form還允許表演像透明表單這樣的很酷的技術(shù)。

過去,VB隱藏了建立表單的所有魔術(shù)。你使用IDE設(shè)計(jì)表單并把代碼添加到Initial

ize事件上,但你沒有手段來控制這兩點(diǎn)之間的過程?,F(xiàn)在,表單就是一個(gè)類,它包含用

來建立表單所有的代碼。我把這些代碼稱為肥料代碼,因?yàn)榇蠖鄶?shù)開發(fā)者希望遠(yuǎn)遠(yuǎn)離開

它們,越遠(yuǎn)越好。要想可靠地弄壞你的程序,沒有比折騰這些代碼更好的辦法了。另一

方面,技術(shù)嫻熟的用戶可以通過這些代碼做很多很酷的事,因?yàn)樗屇隳茏叩絍B.NET表

單的幕后。要是你不想看到這些代碼你也能不看,因?yàn)樾麓a編輯器有展開和折疊代碼

區(qū)的功能,并且這些肥料代碼是默認(rèn)折疊的。代碼編輯器還有幾個(gè)很酷的新功能。例如

,現(xiàn)在它自動(dòng)為你縮排所有代碼(而且還干得不錯(cuò)),它還有內(nèi)置的顯示行號功能。

創(chuàng)建編譯的服務(wù)器端代碼

除了新的Windows Form引擎,.NET還包括一個(gè)為創(chuàng)建Web表單而特別設(shè)計(jì)的表單引擎

。這些被稱為Web Form的表單很聰明,就像VB讓你能很容易地為傳統(tǒng)Windows桌面應(yīng)用程

序創(chuàng)建表單一樣,它們讓你能方便地為Web創(chuàng)建表單。Web Form是 ASP.NET里的技術(shù),讓

你能使用熟悉的RAD工具創(chuàng)建帶有代碼的表單。創(chuàng)建的ASP.NET代碼編譯并駐留在服務(wù)器

上,并在那里被執(zhí)行,然后以HTML方式發(fā)送給任何一個(gè)支持HTML 3.2的瀏覽器。

底層結(jié)構(gòu)捕獲客戶端上的事件數(shù)據(jù),并把它發(fā)送給服務(wù)器。這意味著可以使用各種

用戶界面工具,可以利用現(xiàn)有的表單設(shè)計(jì)技巧,而且應(yīng)用程序界面是不依賴瀏覽器的。

如果可以放棄不依賴瀏覽器,你還有另一個(gè)選擇來利用Internet Explorer 某些功能特

有的優(yōu)勢。Web Form使支持Web的應(yīng)用程序能更容易地創(chuàng)建更好、更豐富多彩的用戶界面

Web服務(wù)策略

VB.NET里的另外一個(gè)重要的面向Web的功能是:Web服務(wù)。Microsoft的市場部門把W

eb服務(wù)列為采用.NET的幾大理由之一。實(shí)際上,Web服務(wù)的本質(zhì)就是使用標(biāo)準(zhǔn)協(xié)議的、由

Web服務(wù)器提供的、類似于COM的對象。注意在技術(shù)上它們并不是COM對象,但和COM對象

的表現(xiàn)方式很相像。Microsoft希望看到所有的公司使用Web服務(wù),并且未來的應(yīng)用程序

可以簡單地“粘”在不同的Web服務(wù)上,就像現(xiàn)在可以使用Visual Basic for Applicat

ions (VBA)建立基于Office和支持VBA的程序的解決方案一樣。

在PDC上,對于它希望開發(fā)者如何“粘”在這些服務(wù)上,Microsoft提供的一個(gè)演示

程序給出了很好的例子。在這個(gè)演示程序里,一個(gè)假想的診所通過Web服務(wù)提供預(yù)約系統(tǒng)

,演示了你可以怎樣使用智能電話通過Web進(jìn)行預(yù)約。Visual Basic.NET 甚至?xí)试S你

查詢服務(wù)器,并獲得關(guān)于服務(wù)器能支持的所有Web服務(wù)的相關(guān)數(shù)據(jù)。通過IntelliSense

dropdown這個(gè)絕對有用的工具,程序員可以訪問Web服務(wù)。Web服務(wù)是Microsoft雄心勃勃

的戰(zhàn)略,但只有時(shí)間才能檢驗(yàn)它是否能成功地被廣泛接納。

Microsoft試圖消除與包裝和分發(fā)應(yīng)用程序相關(guān)的問題,包括令人恐懼的DLL。所有

.NET應(yīng)用程序被封裝為元件。元件包含著數(shù)據(jù)以描述它運(yùn)行所需的東西。這些數(shù)據(jù)被稱

為貨單,包括很多信息,例如:元件身份(名稱、版本等等);一個(gè)列出了所有文件之間

的依賴關(guān)系的表,以及它們的位置和版本;包括DLL相關(guān)數(shù)據(jù)的外部依賴關(guān)系信息;還有

其它元件需要而開發(fā)者沒有創(chuàng)建的資源。元件是自說明的(通過它們的貨單),所以.NET

應(yīng)用程序不需要修改注冊表才能工作。換句話說,你不再需要注冊表組件。在最好的情

況下,即客戶機(jī)里已經(jīng)有了.NET運(yùn)行庫時(shí),分發(fā)一個(gè)復(fù)雜的應(yīng)用程序可能只是把一個(gè)文

件夾復(fù)制到目標(biāo)機(jī)器上這么簡單的事。元件的另一個(gè)好處是:你可以讓不同的應(yīng)用程序

使用同一個(gè)DLL的不同版本,并且協(xié)調(diào)地運(yùn)行在一臺機(jī)器上。如果所有這些都可以像計(jì)劃

中那樣工作,有關(guān)DLL的地獄和版本的噩夢就將成為往事。

正確之路

Microsoft徹底更新了它的技術(shù),而不僅僅是核心語言。例如,在Visual Studio.N

ET里同時(shí)提供了ADO.NET,這是有特殊優(yōu)點(diǎn)的下一代ActiveX Data Objects (ADO) 版本

。它的一個(gè)靈活改變是:ADO.NET用Extensible Markup Language (XML)作為在組件之間

傳遞數(shù)據(jù)集的格式。這意味著接收組件不一定必須是ADO.NET組件,同時(shí)接收組件可以接

受任何XML 格式的數(shù)據(jù)集。談到XML,它支撐著VS.NET中的任何東西,從配置文件到遠(yuǎn)端

過程調(diào)用。ADO.NET在處理斷開的數(shù)據(jù)集時(shí)比 ADO的性能要好,并且具有更好的伸縮性。

Visual Basic.NET對我們都很熟悉的VB做了重要的改變。C++革命性地跳躍到.NET后

有了一個(gè)新名字:C#,而Visual Basic的名字沒變。然而,如果你把VB.NET當(dāng)作語法相

似的一門新語言而不是簡單的“升級”,可能掌握起來就要容易一些。本文給你一個(gè)起

點(diǎn),但吸收掌握各種知識,并對未來做出有根據(jù)的決定是一個(gè)艱苦的過程,它只是這個(gè)

過程的一條起跑線。我不知道.NET會(huì)有多么成功,它的很多地方吸引我,但有些地方并

非如此。這個(gè)工具做了大量承諾,它夸耀很多功能能使 VB開發(fā)者更簡單地創(chuàng)建更有伸縮

性的高端應(yīng)用程序。最后,它的成功將取決于開發(fā)者能多好地將它應(yīng)用于現(xiàn)實(shí)世界??v

觀Microsoft在PDC和Beta 1版本之間的性能和穩(wěn)定性上所跨過的這一步,我堅(jiān)定地認(rèn)為

:Microsoft走對了路!

vb與vb點(diǎn)虐 有什么區(qū)別?學(xué)過vb后,vb點(diǎn)虐 是不是就很好學(xué)了?

(1)vb是基于對象,vb點(diǎn)虐 完全面向?qū)ο?,繼承(Inheritance), 重載(overloading), 共享的成員, 結(jié)構(gòu)化異常處理;強(qiáng)壯的語言,嚴(yán)格的類型檢查, 變量聲明時(shí)初始化,支持垃圾收集(Garbage collection);強(qiáng)大的支持委托(Delegates), free threading,Variant 數(shù)據(jù)類型被 Object 代替

,特別是到了05版本之后,vb點(diǎn)虐 已經(jīng)趨于成熟,而vb6.0還是vb6.0,不思上進(jìn)。

(2)vb點(diǎn)虐 的設(shè)計(jì)美感方面遠(yuǎn)勝于vb6.0。

(3)vb點(diǎn)虐 在windows application 和 asp點(diǎn)虐 方面功能遠(yuǎn)比vb6.0強(qiáng)大。

(4)vb點(diǎn)虐 有很好的線程支持

(5)vb點(diǎn)虐 是跨平臺的,有著強(qiáng)大的類庫和點(diǎn)虐 framework框架,可以和C#等多種點(diǎn)虐 框架下的語言共同運(yùn)行。

(6)vb點(diǎn)虐 在與web service結(jié)合方面是壓倒性強(qiáng)過vb6.0的。

(7)vb點(diǎn)虐 05在數(shù)據(jù)庫操作上非常的靈活和方便,vb6.0看到也只能站一邊。

暫時(shí)說那么多了,不過vb點(diǎn)虐 和vb6.0本是一家,各自的長處還是有的,只要能用得好,小刀也能砍大樹。

----------

我覺得學(xué)了一些VB知識對你學(xué)VB點(diǎn)虐 會(huì)有幫助的,因?yàn)槲易约壕褪窍葘W(xué)VB的,現(xiàn)在一直在用VB.NET,覺得挺容易上手,關(guān)鍵是多實(shí)踐。

vb和vb點(diǎn)虐 的區(qū)別和特點(diǎn)

1、vb點(diǎn)虐 ?完全符合面向?qū)ο蟮木幊陶Z言抽象、封裝、繼承的四大特性,而vb不支持繼承。

2、錯(cuò)誤處理不同。

vb中只是On Error.....goto和On Errer Resume Next ,這些錯(cuò)誤稱為非結(jié)構(gòu)化異常處理。而在vb點(diǎn)虐 中采用的結(jié)構(gòu)化異常處理機(jī)制,try...catch....finally控制。

3、兩者產(chǎn)生的窗體不同。

vb點(diǎn)虐 允許創(chuàng)建不同類型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺應(yīng)用程序和作為桌面服務(wù)運(yùn)行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。

4、數(shù)據(jù)庫訪問的差別。

vb6.0是通過ADO(Active X Data Objext)來實(shí)現(xiàn)對數(shù)據(jù)庫訪問。而vb點(diǎn)虐 是通過ADO.NET來訪問數(shù)據(jù)庫。

擴(kuò)展資料

Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計(jì)語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。

“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象add到屏幕上的一點(diǎn)即可。

“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言。

Visual Basic源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建Active?X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。

參考資料:百度百科-Visual Basic

分享標(biāo)題:會(huì)vbvb點(diǎn)虐 的簡單介紹
本文來源:http://muchs.cn/article8/ddeheip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、商城網(wǎng)站網(wǎng)站維護(hù)、電子商務(wù)搜索引擎優(yōu)化、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)