人類是一個類,你是人,我是人,都是人類的實例(instance),或稱對象(object)。一個類描述一類事物,描述這些事物所應(yīng)具有的屬性,如人有身長、體重、文化程度、性別、年齡、民族等。
公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、商城網(wǎng)站開發(fā),小程序制作,軟件按需策劃設(shè)計等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
一個對象是類的一個實例,它具有確定的屬性,如張三(人的實例)身高180,體重70公斤,大學(xué)本科,男,21歲,漢族。
人類只有一個,人類的實例可以有無數(shù)個。
對象可以被創(chuàng)建和銷毀,但類是無所不在的。
例如,桌子是一個類, 人們不斷打造各種尺寸和風(fēng)格(屬性)的桌子(桌子的實例),打造桌子, 又不斷毀壞桌子,年復(fù)一年,舊的去了,新的又來,但桌子的概念沒變,它是一個抽象的概念。應(yīng)該稱它為桌子類,以區(qū)別于打造的具體桌子。
VB6.0采用可視化的編程環(huán)境,它好學(xué)易用,運行VB6.0后,會出現(xiàn)如下圖所示的窗口,呵呵,看起來蠻復(fù)雜的,好多的按鈕、菜單、小窗口,別擔(dān)心,待會兒我們會一起學(xué)習(xí)這些東東都是干什么用的。
先來解決一個小問題,怎么新建一個VB的工程呢?方法是這樣的,在程序啟動時出現(xiàn)的“新建工程”對話框中選擇“標(biāo)準(zhǔn)EXE”并點擊確定,就能直接新建一個工程,如果你跳過了這個對話框則也可從“文件”菜單中選擇“新建工程”重新調(diào)出此對話框。
下面一起來看看VB的編程環(huán)境,雖然看起來復(fù)雜,但可以把它分為幾個部分,每個部分都有自己特定的功能,這樣我們就清楚多了。其實VB這是通過這樣一個界面把相近或同類的功能組合在一起的,它使我們在設(shè)計程序時能方便的控制程序的方方面面。
JAVA:
◇ 創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計語言,而不是面向過程的語言;
◇ 提供一個解釋執(zhí)行的程序運行環(huán)境,是程序代碼獨立于平臺;
◇ 吸收C和C++的優(yōu)點,使程序員容易掌握;
◇ 去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請和釋放;
◇ 實現(xiàn)多線程,使得程序能夠同時執(zhí)行多個任務(wù);
◇ 提供動態(tài)下載程序代碼的機(jī)制;
◇ 提供代碼校驗機(jī)制以保證安全性;
Java語言的特點(1)
1. 簡單、面向?qū)ο蠛蜑槿怂煜?/p>
java的簡單首先體現(xiàn)在精簡的系統(tǒng)上,力圖用最小的系統(tǒng)實現(xiàn)足夠多的功能;對硬件的要求不高,在小型的計算機(jī)上便可以良好的運行。和所有的新一代的程序設(shè)計語言一樣,java也采用了面向?qū)ο蠹夹g(shù)并更加徹底,所有的java程序和applet程序均是對象,封裝性實現(xiàn)了模塊化和信息隱藏,繼承性實現(xiàn)了代碼的復(fù)用,用戶可以建立自己的類庫。而且java采用的是相對簡單的面向?qū)ο蠹夹g(shù),去掉了運算符重載、多繼承的復(fù)雜概念,而采用了單一繼承、類強(qiáng)制轉(zhuǎn)換、多線程、引用(非指針)等方式。無用內(nèi)存自動回收機(jī)制也使得程序員不必費心管理內(nèi)存,是程序設(shè)計更加簡單,同時大大減少了出錯的可能。java語言采用了C語言中的大部分語法,熟悉C語言的程序員會發(fā)現(xiàn)Java語言在語法上與C語言極其相似。
2. 魯棒并且安全
java語言在編譯及運行程序時,都要進(jìn)行嚴(yán)格的檢查。作為一種強(qiáng)制類型語言,java在編譯和連接時都進(jìn)行大量的類型檢查,防止不匹配問題的發(fā)生。如果引用一個非法類型、或執(zhí)行一個非法類型操作,java將在解釋時指出該錯誤。在java程序中不能采用地址計算的方法通過指針訪問內(nèi)存單元,大大減少了錯誤發(fā)生的可能性;而且java的數(shù)組并非用指針實現(xiàn),這樣就可以在檢查中避免數(shù)組越界的發(fā)生。無用內(nèi)存自動回收機(jī)制也增加了Java的魯棒性。
作為網(wǎng)絡(luò)語言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運行應(yīng)用程序時,嚴(yán)格檢查其訪問數(shù)據(jù)的權(quán)限,比如不允許網(wǎng)絡(luò)上的應(yīng)用程序修改本地的數(shù)據(jù)。下載到用戶計算機(jī)中的字節(jié)代碼在其被執(zhí)行前要經(jīng)過一個核實工具,一旦字節(jié)代碼被核實,便由java解釋器來執(zhí)行,該解釋器通過阻止對內(nèi)存的直接訪問來進(jìn)一步提高java的安全性。同時java極高的魯棒性也增強(qiáng)了Java的安全性。
3. 結(jié)構(gòu)中立并且可以移植
網(wǎng)絡(luò)上充滿了各種不同類型的機(jī)器和操作系統(tǒng),為使java程序能在網(wǎng)絡(luò)的任何地方運行,java編譯器編譯生成了與體系結(jié)構(gòu)無關(guān)的字節(jié)碼結(jié)構(gòu)文件格式。任何種類的計算機(jī),只有在其處理器和操作系統(tǒng)上有java運行時環(huán)境,字節(jié)碼文件就可以在該計算機(jī)上運行。即使是在單一系統(tǒng)的計算機(jī)上,結(jié)構(gòu)中立也有非常大的作用。隨著處理器結(jié)構(gòu)的不斷發(fā)展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運行,這使得開發(fā)出能夠在所有平臺上工作的軟件集合是不可能的。而使用Java將使同一版本的應(yīng)用程序可以運行在所有的平臺上。
體系結(jié)構(gòu)的中立也使得java系統(tǒng)具有可移植性。java運行時系統(tǒng)可以移植到不同的處理器和操作系統(tǒng)上,java的編譯器是由java語言實現(xiàn)的,解釋器是由Java語言和標(biāo)準(zhǔn)C語言實現(xiàn)的,因此可以較為方便的進(jìn)行移植工作。
1.2.4 Java語言的特點(2)
4. 高性能
雖然java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節(jié)碼可以快速的轉(zhuǎn)換成為機(jī)器碼進(jìn)行執(zhí)行。而且java字節(jié)碼格式的設(shè)計就是針對機(jī)器碼的轉(zhuǎn)換,實際轉(zhuǎn)換時相當(dāng)簡便,自動的寄存器分配與編譯器對字節(jié)碼的一些優(yōu)化可使之生成高質(zhì)量的代碼。隨著java虛擬機(jī)的改進(jìn)和"即時編譯"(just in time)技術(shù)的出現(xiàn)使得Java的執(zhí)行速度有了更大的提高。
5. 解釋執(zhí)行、多線程并且是動態(tài)的
如果你了解C語言和C++語言,可以參考下列Java與C/C++語言的比較,如果不了解C語言和C++語言,可以忽略本部分知識。
a. 全局變量
Java程序不能定義程序的全局變量,而類中的公共、靜態(tài)變量就相當(dāng)于這個類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C++語言中,由于不加封裝的全局變量往往會由于使用不當(dāng)而造成系統(tǒng)的崩潰。
b. 條件轉(zhuǎn)移指令
C/C++語言中用goto語句實現(xiàn)無條件跳轉(zhuǎn),而Java語言沒有g(shù)oto語言,通過例外處理語句try、catch、finally來取代之,提高了程序的可讀性,也增強(qiáng)了程序的魯棒性。
c. 指針
指針是C/C++語言中最靈活,但也是最容易出錯的數(shù)據(jù)類型。用指針進(jìn)行內(nèi)存操作往往造成不可預(yù)知的錯誤,而且,通過指針對內(nèi)存地址進(jìn)行顯示類型轉(zhuǎn)換后,可以類的私有成員,破壞了安全性。在java中,程序員不能進(jìn)行任何指針操作,同時Java中的數(shù)組是通過類來實現(xiàn)的,很好的解決了數(shù)組越界這一C/C++語言中不做檢查的缺點。
d. 內(nèi)存管理
在C語言中,程序員使用庫函數(shù)malloc()和free()來分配和釋放內(nèi)存,C++語言中則是運算符new和delete。再次釋放已經(jīng)釋放的內(nèi)存塊或者釋放未被分配的內(nèi)存塊,會造成系統(tǒng)的崩潰,而忘記釋放不再使用的內(nèi)存塊也會逐漸耗盡系統(tǒng)資源。在Java中,所有的數(shù)據(jù)結(jié)構(gòu)都是對象,通過運算符new分配內(nèi)存并得到對象的使用權(quán)。無用內(nèi)存回收機(jī)制保證了系統(tǒng)資源的完整,避免了內(nèi)存管理不周而引起的系統(tǒng)崩潰。
e. 數(shù)據(jù)類型的一致性
在C/C++語言中,不同的平臺上,編譯器對簡單的數(shù)據(jù)類型如int、float等分別分配不同的字節(jié)數(shù)。例如:int在IBM PC上為16位,在VAX-11上就為32位,導(dǎo)致了代碼數(shù)據(jù)的不可移植。在java中,對數(shù)據(jù)類型的位數(shù)分配總是固定的,而不管是在任何的計算機(jī)平臺上。因此就保證了Java數(shù)據(jù)的平臺無關(guān)性和可移植性。
f. 類型轉(zhuǎn)換
在C/C++語言中,可以通過指針進(jìn)行任意的類型轉(zhuǎn)換,不安全因素大大增加。而在Java語言中系統(tǒng)要對對象的處理進(jìn)行嚴(yán)格的相容性檢查,防止不安全的轉(zhuǎn)換。
g. 頭文件
在C/C++語言中使用頭文件聲明類的原型和全局變量及庫函數(shù)等,在大的系統(tǒng)中,維護(hù)這些頭文件是非常困難的。java不支持頭文件,類成員的類型和訪問權(quán)限都封裝在一個類中,運行時系統(tǒng)對訪問進(jìn)行控制,防止非法的訪問。同時,Java中用import語句與其它類進(jìn)行通信,以便訪問其它類的對象。
h. 結(jié)構(gòu)和聯(lián)合
C/C++語言中用結(jié)構(gòu)和聯(lián)合來表示一定的數(shù)據(jù)結(jié)構(gòu),但是由于其成員均為公有的,安全性上存在問題。Java不支持結(jié)構(gòu)和聯(lián)合,通過類把數(shù)據(jù)結(jié)構(gòu)及對該數(shù)據(jù)的操作都封裝在類里面。
i. 預(yù)處理
C/C++語言中有宏定義,而用宏定義實現(xiàn)的代碼往往影響程序的可讀性,而Java不支持宏定義
1、vb.net ?完全符合面向?qū)ο蟮木幊陶Z言抽象、封裝、繼承的四大特性,而vb不支持繼承。
2、錯誤處理不同。
vb中只是On Error.....goto和On Errer Resume Next ,這些錯誤稱為非結(jié)構(gòu)化異常處理。而在vb.net中采用的結(jié)構(gòu)化異常處理機(jī)制,try...catch....finally控制。
3、兩者產(chǎn)生的窗體不同。
vb.net 允許創(chuàng)建不同類型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺應(yīng)用程序和作為桌面服務(wù)運行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。
4、數(shù)據(jù)庫訪問的差別。
vb6.0是通過ADO(Active X Data Objext)來實現(xiàn)對數(shù)據(jù)庫訪問。而vb.net 是通過ADO.NET來訪問數(shù)據(jù)庫。
擴(kuò)展資料
Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮摹瑓f(xié)助開發(fā)環(huán)境的事件驅(qū)動為機(jī)制的可視化程序設(shè)計語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。
“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象add到屏幕上的一點即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術(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
模塊相當(dāng)于一堆公開方法的集合,類相當(dāng)于你平時拖的控件,在vb6里面你想自己寫個控件是很復(fù)雜的,而vb.net里只需要繼承自現(xiàn)有控件即可。就按鈕來說同樣是按鈕類,你可以拖若干個到界面上,也就是存在若干實例或?qū)ο?,而模塊,通常只有一個對吧,模塊相當(dāng)于c#的靜態(tài)類。
Visual Basic .NET Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語言,可以看作是Visual Basic在.Net Framework平臺上的升級版本,增強(qiáng)了對面向?qū)ο蟮闹С?。但由于改動太大,?dǎo)致VB.net對VB的向后兼容性不好,在業(yè)界引起不小的爭議。 大多的VB.Net程序員使用Visual Studio .Net作為IDE(integrated development environment). SharpDevelop是另一種可用的開源的IDE。VB.Net需要在.Net Framework平臺上才能執(zhí)行。 VB.NET的主頁 1 目前版本 2005年9月以來,存在三種不同版本的Visual Basic .NET. 1 Visual Basic .NET:是隨vc#和ASP.NET一起在2002年發(fā)布的最初始的VB.net版本。C#被大力宣傳為微軟對付JAVA的王牌,受到媒體極力關(guān)注。然而VB.NET(有時被稱為VB7)影響面不廣,這導(dǎo)致VB社區(qū)之外很少人關(guān)注它。那些試用過此版VB.NET的人在層層幕布下發(fā)現(xiàn)一個強(qiáng)大卻艱深的語言,而且還有不少弱點,比如它比VB6來有一個大了十倍的進(jìn)行時(RunTime),內(nèi)存footprint也大大增加。 2 Visual Basic .NET 2003:是和.NET Framework 1.1一起發(fā)布的。新功能包括對.NET Compact Framework的支持和更好的VB升遷向?qū)?。并改進(jìn)了運行狀況,IDE穩(wěn)定性(尤其是后臺編譯器),以及運行時RunTime穩(wěn)定性。另外,VB.NET 2003還有一個學(xué)院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分發(fā)給各國某些學(xué)者免費使用的版本。 3 Visual Basic 2005:VB2005是VB.Net的重大轉(zhuǎn)變,微軟決意在其軟件名稱中去掉了.NET部份。在VB2005中,微軟增加了許多新功能,以引用VB對于初學(xué)者來說的一些優(yōu)點: A, Edit and Continue - 也許是從VB那里丟掉的最大的功能,允許代碼的編輯和執(zhí)行立即的執(zhí)行恢復(fù)。 B, Design-time expression evaluation C, My偽命名空間,提供了訪問.NET Framework特定域的不需大量編碼的簡單方式;還能動態(tài)產(chǎn)生類(顯然的是My.Forms);提供了改進(jìn)的VB到VB.NET轉(zhuǎn)換向?qū)?;Using 語法,簡化了需要部署pattern to free resources的對象的使用;My編碼,可隱藏由VB.NET IDE寫的模板代碼;數(shù)據(jù)源綁定,簡化了數(shù)據(jù)庫C/S開發(fā) 上述功能(尤其是My)增強(qiáng)了VB.Net成為快速開發(fā)應(yīng)用平臺的可能,并與C#進(jìn)一步區(qū)別開來。參見: 使用My開發(fā) 通過My命名空間訪問.NET Framework 和項目 Visual Basic 2005 通過增加新功能而填補(bǔ)了和其它所謂更強(qiáng)大的.NET語言的差距。 A, 增加了.NET 2.0語言功能包括:generics和Partial類(在一個文件里定義一個類的某部份然后再添加更多的定義,這個方法在整合用戶編碼和系統(tǒng)自動生成編碼時尤其有用)。 B, XML注釋,可以被NDoc等工具處理而自動生成文檔 C, operator overloading D, 支持在其它語言中已經(jīng)廣泛使用的unsigned integer數(shù)據(jù)類型。 E, 支持在許多C衍生編程語言已提供的復(fù)合操作符如:"+=", "-=" 4, IsNot專利:If Not X Is Y表達(dá)式被轉(zhuǎn)換成If X IsNot Y。當(dāng)微軟為IsNot申請專利時招致了惡名(尤其來自Real公司)。 5, Visual Basic 2005 Express:作為VS產(chǎn)品線上的一部份,VB2005 Express是專為業(yè)余愛好者和新手定制的免費的VS Express系列的一員。Express版本目的定位在幫助人們學(xué)習(xí)一種語言,所以他們有和標(biāo)準(zhǔn)版一致的用戶界面,只是少了一些高級功能。另外,VS 查看更多答案
記得采納啊
vb.net是基于.NET框架的完全對向?qū)ο蟮木幊陶Z言,而vb 6.0只是半面向?qū)ο蟮恼Z言,使用vb.net可以編制出功能更加強(qiáng)大的windows程序?,F(xiàn)在,我們把vb.net和vb 6.0做一下比較,看看vb.net對比vb 6.0有著什么樣的特性和優(yōu)點。 1.在vb 6.0中,創(chuàng)建對象的時候,需要等這個對象創(chuàng)建完畢后,再另外調(diào)用一個獨立的方法對其進(jìn)行初始化。在vb.net中, 可以利用構(gòu)造函數(shù)為對象賦初值,這樣就不需要進(jìn)行煩瑣的調(diào)用賦初值了。構(gòu)造函數(shù)的使用,簡化了編碼的過程和出錯的機(jī)會。 2.vb.net編寫線程的能力比vb 6.0有很大的增強(qiáng)。 3.在vb 6.0中,需要首先聲明一個變量,然后才能對其賦值,這樣就需要寫兩行代碼。在vb.net中,可以 使用初始化函數(shù)將這兩個步驟合并在一行代碼中完成,這個似乎微小的改進(jìn),提供了更少、更簡單、更易于維護(hù)的代碼。 4.vb.net基于.NET框架,開發(fā)者可以快速的可視化開發(fā)網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)絡(luò)服務(wù)、Windows應(yīng)用程序和服務(wù)器端組件。 5.因為vb.net是基于.NET框架的,可以與其它.NET語言協(xié)同工作。 6.在vb.net中,通過Web窗體及ADO.NET,開發(fā)者可以快速開發(fā)可擴(kuò)展的Web站點。 如果你能進(jìn)一步學(xué)習(xí)vb.net,你會發(fā)現(xiàn)更多的新特性和優(yōu)點。