.NET Framework的核心技術(shù)為:通用語言運(yùn)行庫(CLR:Common Language Runtime)、類庫、ASP.NET及ADO.NET
專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)豐滿免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
通用語言運(yùn)行庫
(Common Language Runtime)
CLR引入了一些能提高應(yīng)用程序運(yùn)行可靠性的技術(shù)(比如消除了內(nèi)存泄漏),同時也提供了多語言執(zhí)行環(huán)境,使得陸則組件和XML
Web服務(wù)的綜合使用不再受編程語言的限制。目前,可以用來編寫.NET應(yīng)用程序的編程語言不扮態(tài)下20種,如C++、 Visual Basic
.NET、JScript,以及微軟最新推出的開發(fā)語言——C#,此外還包括不少第三方的語言,比如COBOL、Eiffel、Perl、Python、
Smalltalk等等。
類庫
統(tǒng)一的類庫提供了調(diào)用平臺函數(shù)的通用方法,使得我們不必再去學(xué)習(xí)并研究不同語言的API體系結(jié)構(gòu)
ASP.NET
ASP.NET建立在.NET
Framework類的基礎(chǔ)之上,并提供了由控件和基礎(chǔ)部分組成的“Web程序模板”,大大簡化了Web程序和XML
Web服務(wù)的開發(fā)。程序員直接面對的是一組ASP.NET控件,而這些控件由一些諸如文本框、下拉選廳悉源單等通用的HTML用戶界面構(gòu)件封裝而成。實際上這些
控件運(yùn)行于Web服務(wù)器上,并簡單地以HTML的形式將用戶界面發(fā)送到瀏覽器。
ADO.NET
與現(xiàn)有的ADO數(shù)據(jù)訪問模型相比,ADO.NET引入了一些新的特性——基于XML,并且是松散耦合的(loosely-coupled)。
ADO.NET使用了脫機(jī)(disconnected)數(shù)據(jù)緩存,使用戶能快速地創(chuàng)建出高性能、可靠的XML
Web服務(wù)和現(xiàn)在流行的多層應(yīng)用程序(N-tier applications)。
希望幫到你
在繼承類中添派告加了空的事件過程,估計也吵培會調(diào)用基類事件過程的,也就是兩個事件過程都會被調(diào)用。可以試試在繼承類構(gòu)造函數(shù)中用 RemoveHandler 語句能不能撤銷基類的事件過程的綁定。
另外一般的過程可以用override關(guān)鍵字隱藏基類的同名方法,比如基類調(diào)用的方法被繼承類override重寫后,就會調(diào)用繼承類的方法了。所以可以把事件處理代碼放在一普通過程中,由事件過程調(diào)用,這升羨唯樣繼承類可以用空的同名方法覆蓋基類方法了。
VB6.0采用可視化的編程環(huán)境,它好學(xué)易用,運(yùn)行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í)行的程序運(yùn)行環(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ī)上便可以良好的運(yùn)行。和所有的新一代的程序設(shè)計語言一樣,java也采用了面向?qū)ο蠹夹g(shù)并更加徹底,所有的java程序和applet程序均是對象,封裝性實現(xiàn)了模塊化和信息隱藏,繼承性實現(xiàn)了代碼的復(fù)用,用戶可以建立自己的類庫。而且java采用的是相對簡單的面向?qū)ο蠹夹g(shù),去掉了運(yùn)算符重載、多繼承的復(fù)雜概念,而采用了單一繼承、類強(qiáng)制轉(zhuǎn)換、多線程、引用(非指針)等方式。無用內(nèi)存自動回收機(jī)制也使得程序員不必費(fèi)心管理內(nèi)存,是程序設(shè)計更加簡單,同時大大減少了出錯的可能。java語言采用了C語言中的大部分語法,熟悉C語言的程序員會發(fā)現(xiàn)Java語言在語法上與C語言極其相似。
2. 魯棒并且安全
java語言在編譯及運(yùn)行程序時,都要進(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ùn)行應(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ò)的任何地方運(yùn)行,java編譯器編譯生成了與體系結(jié)構(gòu)無關(guān)的字節(jié)碼結(jié)構(gòu)文件格式。任何種類的計算機(jī),只有在其處理器和操作系統(tǒng)上有java運(yùn)行時環(huán)境,字節(jié)碼文件就可以在該計算機(jī)上運(yùn)行。即使是在單一系統(tǒng)的計算機(jī)上,結(jié)構(gòu)中立也有非常大的作用。隨著處理器結(jié)構(gòu)的不斷發(fā)展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運(yùn)行,這使得開發(fā)出能夠在所有平臺上工作的軟件集合是不可能的。而使用Java將使同一版本的應(yīng)用程序可以運(yùn)行在所有的平臺上。
體系結(jié)構(gòu)的中立也使得java系統(tǒng)具有可移植性。java運(yùn)行時系統(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++語言中則是運(yùn)算符new和delete。再次釋放已經(jīng)釋放的內(nèi)存塊或者釋放未被分配的內(nèi)存塊,會造成系統(tǒng)的崩潰,而忘記釋放不再使用的內(nèi)存塊也會逐漸耗盡系統(tǒng)資源。在Java中,所有的數(shù)據(jù)結(jié)構(gòu)都是對象,通過運(yùn)算符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)限都封裝在一個類中,運(yù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不支持宏定義
兩個項目A和B,A已經(jīng)編譯喊讓鍵通過了,鄭巧重新生成解決方案,右鍵B項滑孫目添加引用,找到A項目的dll,引用進(jìn)來就可以了。
名稱欄目:vb點虐
多繼承 net 繼承與多態(tài)
標(biāo)題鏈接:http://jinyejixie.com/article42/ddpihhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、App開發(fā)、App設(shè)計、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)