vb.net是vb的升級(jí)。
創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、建德網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為建德等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
vb.net基于.net框架,是vb發(fā)展的必然趨勢(shì)。
vb功能非常強(qiáng)大,但是也存在眾多的缺點(diǎn),所以微軟才會(huì)開(kāi)發(fā)vb.net。
隨著時(shí)間的發(fā)展,vb.net完全取代vb是必然的
VB術(shù)語(yǔ)簡(jiǎn)介
說(shuō)明下面的代碼舉例說(shuō)明了用 Drive 對(duì)象來(lái)訪問(wèn)驅(qū)動(dòng)器屬性:Sub ShowFreeSpace(drvPath) Dim fs, d, s Set fs = CreateObject("Scripting.FileSystemObject") Set d = fs.GetDrive(fs.GetDriveName(drvPath)) s = "Drive " UCase(drvPath) " - " s = s d.VolumeName vbCrLf s = s "Free Space: " FormatNumber(d.FreeSpace/1024, 0) s = s " Kbytes" MsgBox sEnd Sub.
vb.net是完全面向?qū)ο蟮恼Z(yǔ)言,支持面向?qū)ο蟮乃膫€(gè)基本屬性:抽象,繼承,多態(tài),封裝,但vb是面向過(guò)程的語(yǔ)言,它只支持部分面向?qū)ο蟮膬?nèi)容像多態(tài),接口等。從 VB 7.0 之后的版本俗稱(chēng) VB.NET,來(lái)源于微軟的.NET戰(zhàn)略,到現(xiàn)在為止有三個(gè)版本
VB 7.0 即VB 2002,對(duì)應(yīng).NET Framework 1.0的版本
VB 7.1 即VB 2003,對(duì)應(yīng).NET Framework 1.1的版本
VB 8.0 即VB 2005,對(duì)應(yīng).NET Framework 2.0的版本
除了語(yǔ)法和使用習(xí)慣的繼承,VB 6.0之前的版本和VB 7.0之后的版本完全沒(méi)有聯(lián)系,幾乎沒(méi)有相同之處,兩種不同體系的語(yǔ)言
1、vb.net ?完全符合面向?qū)ο蟮木幊陶Z(yǔ)言抽象、封裝、繼承的四大特性,而vb不支持繼承。
2、錯(cuò)誤處理不同。
vb中只是On Error.....goto和On Errer Resume Next ,這些錯(cuò)誤稱(chēng)為非結(jié)構(gòu)化異常處理。而在vb.net中采用的結(jié)構(gòu)化異常處理機(jī)制,try...catch....finally控制。
3、兩者產(chǎn)生的窗體不同。
vb.net 允許創(chuàng)建不同類(lèi)型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺(tái)應(yīng)用程序和作為桌面服務(wù)運(yùn)行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。
4、數(shù)據(jù)庫(kù)訪問(wèn)的差別。
vb6.0是通過(guò)ADO(Active X Data Objext)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)。而vb.net 是通過(guò)ADO.NET來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。
擴(kuò)展資料
Visual Basic(簡(jiǎn)稱(chēng)VB)是Microsoft公司開(kāi)發(fā)的一種通用的基于對(duì)象的程序設(shè)計(jì)語(yǔ)言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言。是一種可用于微軟自家產(chǎn)品開(kāi)發(fā)的語(yǔ)言。
“Visual” 指的是開(kāi)發(fā)圖形用戶界面 (GUI) 的方法——不需編寫(xiě)大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象add到屏幕上的一點(diǎn)即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語(yǔ)言,是一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語(yǔ)言。
Visual Basic源自于BASIC編程語(yǔ)言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開(kāi)發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建Active?X控件,用于高效生成類(lèi)型安全和面向?qū)ο蟮膽?yīng)用程序 。
參考資料:百度百科-Visual Basic
在.NET構(gòu)架下,VB和C#,和JSP的區(qū)別不大,都能完成相應(yīng)的功能。如果是做Web開(kāi)發(fā),那就更沒(méi)問(wèn)題了。
以前的VB確實(shí)不行,有點(diǎn)玩具的感覺(jué),但是畢竟有入手快的優(yōu)點(diǎn)。所以現(xiàn)在.NET里才保留了對(duì)VB語(yǔ)言的支持。在.NET里語(yǔ)言雖然不一樣但是編譯后的底層都一樣,就好像一個(gè)系統(tǒng)有多個(gè)界面一樣。
別總是聽(tīng)別人說(shuō)如何如何,我就用的VB語(yǔ)言在做.NET的Web開(kāi)發(fā),也很好啊,至少99%以上的開(kāi)發(fā)都沒(méi)有問(wèn)題。
' 關(guān)于VB.net { Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語(yǔ)言,可以看作是Visual Basic在.Net Framework平臺(tái)上的升級(jí)版本,增強(qiáng)了對(duì)面向?qū)ο蟮闹С?。但由于改?dòng)太大,導(dǎo)致VB.net對(duì)VB的向后兼容性不好,在業(yè)界引起不小的爭(zhēng)議。 } ' VB.net與VB6.0的主要區(qū)別 { VB.Net需要在.Net Framework平臺(tái)上才能執(zhí)行,因此,大多的VB.Net程序員使用Visual Studio.Net作為IDE(integrated development environment-集成性的開(kāi)發(fā)環(huán)境)開(kāi)發(fā).net應(yīng)用程序。 VB6生成的應(yīng)用程序不需要.Net Framework框架的支持。 因此,使用VB.net開(kāi)發(fā)的應(yīng)用程序只能在裝有.Net Framework框架的系統(tǒng)中運(yùn)行。 } ' VB.net與VB6.0的編程思想 { 網(wǎng)上流傳的VB與VB.net差別被過(guò)分夸大。其實(shí)VB.net改善的只是完整的面向?qū)ο笏枷耄?0%語(yǔ)法與VB6.0保持一致。 抽象、封裝、多態(tài)、繼承是面向?qū)ο笳Z(yǔ)言的四個(gè)基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向?qū)ο蟮木幊陶Z(yǔ)言。 } ' VB.net與VB6.0的應(yīng)用前景(個(gè)人觀點(diǎn) By 刺猬) ( 介于現(xiàn)在應(yīng)用最為廣泛WindowsXP操作系統(tǒng)沒(méi)有預(yù)裝.net framework的原因,許多VB程序員采用VB6.0開(kāi)發(fā)應(yīng)用程序;但現(xiàn)在不一樣了,在未來(lái),WindowsXP系統(tǒng)必將面臨淘汰。繼Vista以后,系統(tǒng)都預(yù)裝了.net framework框架,由此看來(lái),微軟正在極力推崇使用.net技術(shù)。或許,.net應(yīng)用程序的開(kāi)發(fā)在未來(lái)會(huì)有很大的發(fā)展前景。 }
求采納
VB6.0采用可視化的編程環(huán)境,它好學(xué)易用,運(yùn)行VB6.0后,會(huì)出現(xiàn)如下圖所示的窗口,呵呵,看起來(lái)蠻復(fù)雜的,好多的按鈕、菜單、小窗口,別擔(dān)心,待會(huì)兒我們會(huì)一起學(xué)習(xí)這些東東都是干什么用的。
先來(lái)解決一個(gè)小問(wèn)題,怎么新建一個(gè)VB的工程呢?方法是這樣的,在程序啟動(dòng)時(shí)出現(xiàn)的“新建工程”對(duì)話框中選擇“標(biāo)準(zhǔn)EXE”并點(diǎn)擊確定,就能直接新建一個(gè)工程,如果你跳過(guò)了這個(gè)對(duì)話框則也可從“文件”菜單中選擇“新建工程”重新調(diào)出此對(duì)話框。
下面一起來(lái)看看VB的編程環(huán)境,雖然看起來(lái)復(fù)雜,但可以把它分為幾個(gè)部分,每個(gè)部分都有自己特定的功能,這樣我們就清楚多了。其實(shí)VB這是通過(guò)這樣一個(gè)界面把相近或同類(lèi)的功能組合在一起的,它使我們?cè)谠O(shè)計(jì)程序時(shí)能方便的控制程序的方方面面。
JAVA:
◇ 創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,而不是面向過(guò)程的語(yǔ)言;
◇ 提供一個(gè)解釋執(zhí)行的程序運(yùn)行環(huán)境,是程序代碼獨(dú)立于平臺(tái);
◇ 吸收C和C++的優(yōu)點(diǎn),使程序員容易掌握;
◇ 去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請(qǐng)和釋放;
◇ 實(shí)現(xiàn)多線程,使得程序能夠同時(shí)執(zhí)行多個(gè)任務(wù);
◇ 提供動(dòng)態(tài)下載程序代碼的機(jī)制;
◇ 提供代碼校驗(yàn)機(jī)制以保證安全性;
Java語(yǔ)言的特點(diǎn)(1)
1. 簡(jiǎn)單、面向?qū)ο蠛蜑槿怂煜?/p>
java的簡(jiǎn)單首先體現(xiàn)在精簡(jiǎn)的系統(tǒng)上,力圖用最小的系統(tǒng)實(shí)現(xiàn)足夠多的功能;對(duì)硬件的要求不高,在小型的計(jì)算機(jī)上便可以良好的運(yùn)行。和所有的新一代的程序設(shè)計(jì)語(yǔ)言一樣,java也采用了面向?qū)ο蠹夹g(shù)并更加徹底,所有的java程序和applet程序均是對(duì)象,封裝性實(shí)現(xiàn)了模塊化和信息隱藏,繼承性實(shí)現(xiàn)了代碼的復(fù)用,用戶可以建立自己的類(lèi)庫(kù)。而且java采用的是相對(duì)簡(jiǎn)單的面向?qū)ο蠹夹g(shù),去掉了運(yùn)算符重載、多繼承的復(fù)雜概念,而采用了單一繼承、類(lèi)強(qiáng)制轉(zhuǎn)換、多線程、引用(非指針)等方式。無(wú)用內(nèi)存自動(dòng)回收機(jī)制也使得程序員不必費(fèi)心管理內(nèi)存,是程序設(shè)計(jì)更加簡(jiǎn)單,同時(shí)大大減少了出錯(cuò)的可能。java語(yǔ)言采用了C語(yǔ)言中的大部分語(yǔ)法,熟悉C語(yǔ)言的程序員會(huì)發(fā)現(xiàn)Java語(yǔ)言在語(yǔ)法上與C語(yǔ)言極其相似。
2. 魯棒并且安全
java語(yǔ)言在編譯及運(yùn)行程序時(shí),都要進(jìn)行嚴(yán)格的檢查。作為一種強(qiáng)制類(lèi)型語(yǔ)言,java在編譯和連接時(shí)都進(jìn)行大量的類(lèi)型檢查,防止不匹配問(wèn)題的發(fā)生。如果引用一個(gè)非法類(lèi)型、或執(zhí)行一個(gè)非法類(lèi)型操作,java將在解釋時(shí)指出該錯(cuò)誤。在java程序中不能采用地址計(jì)算的方法通過(guò)指針訪問(wèn)內(nèi)存單元,大大減少了錯(cuò)誤發(fā)生的可能性;而且java的數(shù)組并非用指針實(shí)現(xiàn),這樣就可以在檢查中避免數(shù)組越界的發(fā)生。無(wú)用內(nèi)存自動(dòng)回收機(jī)制也增加了Java的魯棒性。
作為網(wǎng)絡(luò)語(yǔ)言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運(yùn)行應(yīng)用程序時(shí),嚴(yán)格檢查其訪問(wèn)數(shù)據(jù)的權(quán)限,比如不允許網(wǎng)絡(luò)上的應(yīng)用程序修改本地的數(shù)據(jù)。下載到用戶計(jì)算機(jī)中的字節(jié)代碼在其被執(zhí)行前要經(jīng)過(guò)一個(gè)核實(shí)工具,一旦字節(jié)代碼被核實(shí),便由java解釋器來(lái)執(zhí)行,該解釋器通過(guò)阻止對(duì)內(nèi)存的直接訪問(wèn)來(lái)進(jìn)一步提高java的安全性。同時(shí)java極高的魯棒性也增強(qiáng)了Java的安全性。
3. 結(jié)構(gòu)中立并且可以移植
網(wǎng)絡(luò)上充滿了各種不同類(lèi)型的機(jī)器和操作系統(tǒng),為使java程序能在網(wǎng)絡(luò)的任何地方運(yùn)行,java編譯器編譯生成了與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼結(jié)構(gòu)文件格式。任何種類(lèi)的計(jì)算機(jī),只有在其處理器和操作系統(tǒng)上有java運(yùn)行時(shí)環(huán)境,字節(jié)碼文件就可以在該計(jì)算機(jī)上運(yùn)行。即使是在單一系統(tǒng)的計(jì)算機(jī)上,結(jié)構(gòu)中立也有非常大的作用。隨著處理器結(jié)構(gòu)的不斷發(fā)展變化,程序員不得不編寫(xiě)各種版本的程序以在不同的處理器上運(yùn)行,這使得開(kāi)發(fā)出能夠在所有平臺(tái)上工作的軟件集合是不可能的。而使用Java將使同一版本的應(yīng)用程序可以運(yùn)行在所有的平臺(tái)上。
體系結(jié)構(gòu)的中立也使得java系統(tǒng)具有可移植性。java運(yùn)行時(shí)系統(tǒng)可以移植到不同的處理器和操作系統(tǒng)上,java的編譯器是由java語(yǔ)言實(shí)現(xiàn)的,解釋器是由Java語(yǔ)言和標(biāo)準(zhǔn)C語(yǔ)言實(shí)現(xiàn)的,因此可以較為方便的進(jìn)行移植工作。
1.2.4 Java語(yǔ)言的特點(diǎn)(2)
4. 高性能
雖然java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節(jié)碼可以快速的轉(zhuǎn)換成為機(jī)器碼進(jìn)行執(zhí)行。而且java字節(jié)碼格式的設(shè)計(jì)就是針對(duì)機(jī)器碼的轉(zhuǎn)換,實(shí)際轉(zhuǎn)換時(shí)相當(dāng)簡(jiǎn)便,自動(dòng)的寄存器分配與編譯器對(duì)字節(jié)碼的一些優(yōu)化可使之生成高質(zhì)量的代碼。隨著java虛擬機(jī)的改進(jìn)和"即時(shí)編譯"(just in time)技術(shù)的出現(xiàn)使得Java的執(zhí)行速度有了更大的提高。
5. 解釋執(zhí)行、多線程并且是動(dòng)態(tài)的
如果你了解C語(yǔ)言和C++語(yǔ)言,可以參考下列Java與C/C++語(yǔ)言的比較,如果不了解C語(yǔ)言和C++語(yǔ)言,可以忽略本部分知識(shí)。
a. 全局變量
Java程序不能定義程序的全局變量,而類(lèi)中的公共、靜態(tài)變量就相當(dāng)于這個(gè)類(lèi)的全局變量。這樣就使全局變量封裝在類(lèi)中,保證了安全性,而在C/C++語(yǔ)言中,由于不加封裝的全局變量往往會(huì)由于使用不當(dāng)而造成系統(tǒng)的崩潰。
b. 條件轉(zhuǎn)移指令
C/C++語(yǔ)言中用goto語(yǔ)句實(shí)現(xiàn)無(wú)條件跳轉(zhuǎn),而Java語(yǔ)言沒(méi)有g(shù)oto語(yǔ)言,通過(guò)例外處理語(yǔ)句try、catch、finally來(lái)取代之,提高了程序的可讀性,也增強(qiáng)了程序的魯棒性。
c. 指針
指針是C/C++語(yǔ)言中最靈活,但也是最容易出錯(cuò)的數(shù)據(jù)類(lèi)型。用指針進(jìn)行內(nèi)存操作往往造成不可預(yù)知的錯(cuò)誤,而且,通過(guò)指針對(duì)內(nèi)存地址進(jìn)行顯示類(lèi)型轉(zhuǎn)換后,可以類(lèi)的私有成員,破壞了安全性。在java中,程序員不能進(jìn)行任何指針操作,同時(shí)Java中的數(shù)組是通過(guò)類(lèi)來(lái)實(shí)現(xiàn)的,很好的解決了數(shù)組越界這一C/C++語(yǔ)言中不做檢查的缺點(diǎn)。
d. 內(nèi)存管理
在C語(yǔ)言中,程序員使用庫(kù)函數(shù)malloc()和free()來(lái)分配和釋放內(nèi)存,C++語(yǔ)言中則是運(yùn)算符new和delete。再次釋放已經(jīng)釋放的內(nèi)存塊或者釋放未被分配的內(nèi)存塊,會(huì)造成系統(tǒng)的崩潰,而忘記釋放不再使用的內(nèi)存塊也會(huì)逐漸耗盡系統(tǒng)資源。在Java中,所有的數(shù)據(jù)結(jié)構(gòu)都是對(duì)象,通過(guò)運(yùn)算符new分配內(nèi)存并得到對(duì)象的使用權(quán)。無(wú)用內(nèi)存回收機(jī)制保證了系統(tǒng)資源的完整,避免了內(nèi)存管理不周而引起的系統(tǒng)崩潰。
e. 數(shù)據(jù)類(lèi)型的一致性
在C/C++語(yǔ)言中,不同的平臺(tái)上,編譯器對(duì)簡(jiǎn)單的數(shù)據(jù)類(lèi)型如int、float等分別分配不同的字節(jié)數(shù)。例如:int在IBM PC上為16位,在VAX-11上就為32位,導(dǎo)致了代碼數(shù)據(jù)的不可移植。在java中,對(duì)數(shù)據(jù)類(lèi)型的位數(shù)分配總是固定的,而不管是在任何的計(jì)算機(jī)平臺(tái)上。因此就保證了Java數(shù)據(jù)的平臺(tái)無(wú)關(guān)性和可移植性。
f. 類(lèi)型轉(zhuǎn)換
在C/C++語(yǔ)言中,可以通過(guò)指針進(jìn)行任意的類(lèi)型轉(zhuǎn)換,不安全因素大大增加。而在Java語(yǔ)言中系統(tǒng)要對(duì)對(duì)象的處理進(jìn)行嚴(yán)格的相容性檢查,防止不安全的轉(zhuǎn)換。
g. 頭文件
在C/C++語(yǔ)言中使用頭文件聲明類(lèi)的原型和全局變量及庫(kù)函數(shù)等,在大的系統(tǒng)中,維護(hù)這些頭文件是非常困難的。java不支持頭文件,類(lèi)成員的類(lèi)型和訪問(wèn)權(quán)限都封裝在一個(gè)類(lèi)中,運(yùn)行時(shí)系統(tǒng)對(duì)訪問(wèn)進(jìn)行控制,防止非法的訪問(wèn)。同時(shí),Java中用import語(yǔ)句與其它類(lèi)進(jìn)行通信,以便訪問(wèn)其它類(lèi)的對(duì)象。
h. 結(jié)構(gòu)和聯(lián)合
C/C++語(yǔ)言中用結(jié)構(gòu)和聯(lián)合來(lái)表示一定的數(shù)據(jù)結(jié)構(gòu),但是由于其成員均為公有的,安全性上存在問(wèn)題。Java不支持結(jié)構(gòu)和聯(lián)合,通過(guò)類(lèi)把數(shù)據(jù)結(jié)構(gòu)及對(duì)該數(shù)據(jù)的操作都封裝在類(lèi)里面。
i. 預(yù)處理
C/C++語(yǔ)言中有宏定義,而用宏定義實(shí)現(xiàn)的代碼往往影響程序的可讀性,而Java不支持宏定義
分享題目:知乎vb.net 知乎guan網(wǎng)
本文來(lái)源:http://aaarwkj.com/article6/doodjig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、虛擬主機(jī)、App開(kāi)發(fā)、網(wǎng)站維護(hù)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容