溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

VB.NET中OOP語(yǔ)法怎么用

發(fā)布時(shí)間:2021-12-02 13:45:25 來(lái)源:億速云 閱讀:130 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下VB.NET中OOP語(yǔ)法怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

VB.NET采納了包括Java在內(nèi)的許多其它面相對(duì)象編程語(yǔ)言的功能和特點(diǎn)。VB.NET把基本數(shù)據(jù)類(lèi)型(字符串、整型、雙精度等等)轉(zhuǎn)換成帶有屬性和方法的對(duì)象;它還引入了Java類(lèi)型的錯(cuò)誤捕獲機(jī)制(用Try和 Catch);VB.NET還把代碼編譯成微軟中間語(yǔ)言(Microsoft Intermediate Language,IL);它還提供了基于XML的應(yīng)用程序配置。更重要的是設(shè)計(jì)面向?qū)ο蠼鉀Q方案的能力可以用任何語(yǔ)言實(shí)現(xiàn)。在本文中,我將比較 VB.NET語(yǔ)言和Java;不過(guò)與其它面相對(duì)象編程語(yǔ)言來(lái)說(shuō),VB.NET現(xiàn)在本質(zhì)上在走它自己的路。

另一方面,Sun公司最近宣布它將在2003年夏季推出一種.NET風(fēng)格的開(kāi)發(fā)環(huán)境。這個(gè)新環(huán)境是否會(huì)讓Java成為主流,我們只能拭目以待。 Java所欠缺的一個(gè)優(yōu)點(diǎn)就是友好的用戶(hù)界面,程序員在用Java寫(xiě)應(yīng)用程序之前往往不得不花上更多的時(shí)間來(lái)學(xué)會(huì)Java編程和面相對(duì)象編程的基本知識(shí)。用Visual Basic,開(kāi)發(fā)者可以用他們所希望的任何方法(常常是錯(cuò)誤的方法)來(lái)寫(xiě)程序,這樣,在維護(hù)程序時(shí),這成了一個(gè)大問(wèn)題。在Sun的新的Java IDE(集成開(kāi)發(fā)環(huán)境)在這個(gè)夏天出現(xiàn)之前,Sun公司應(yīng)該向Java編程新手介紹幾個(gè)基本指南,讓他們體會(huì)到VB.NET OOP設(shè)計(jì)的重要性。

OOP語(yǔ)法是獨(dú)立的嗎?

在Visual Basic中,如同在Java中那樣,任何東西都是對(duì)象——字符、整型以及它所以包括的其它基本類(lèi)型。Visual Basic語(yǔ)言的早先版本包括了一些內(nèi)建函數(shù)來(lái)處理字符串;字符串或者整型沒(méi)有屬性和方法?,F(xiàn)在,在Visual Basic中,字符串和Java中的字符串幾乎是相同的。諸如字符串和雙精度這項(xiàng)基本類(lèi)型的相同是確實(shí)的。在Java中,int和double(基本類(lèi)型)依然存在,但在VB.NET中,它們成功的被各自的對(duì)象所取代。

把字符串和數(shù)字轉(zhuǎn)換成對(duì)象可以讓代碼更清晰、更少依賴(lài)編程語(yǔ)言本身。我們給出一個(gè)例子,為了從一個(gè)字符串中找到一個(gè)字符,用早先版本的VB,程序員可能會(huì)這么寫(xiě):

sMyString = Mid(sMyString,3,4)

現(xiàn)在,它可以被替換為:

sMyStringsMyString = sMyString.substring(3,4)

VB命令現(xiàn)在依然得到了保留,如果轉(zhuǎn)換時(shí)出現(xiàn)問(wèn)題,它們還可以使用;但是在上面例子中的第二部分,用VB、Java或是C#實(shí)現(xiàn),其語(yǔ)法是相同的。以我的經(jīng)驗(yàn),VB程序員拋棄老VB語(yǔ)法采用“新的”面向?qū)ο缶幊碳夹g(shù)幾乎不會(huì)出現(xiàn)問(wèn)題。

事件句柄(event handlers)是VB.NET所提供的另一個(gè)強(qiáng)大補(bǔ)充,它的功能也可以與Java相提并論。(事件句柄在Java中也成為“監(jiān)聽(tīng)者(listerer)”。)利用事件句柄,程序員可以給對(duì)象分配默認(rèn)方法。例如,VB.NET開(kāi)發(fā)者可以給Datagrid添加一個(gè)句柄來(lái)處理數(shù)據(jù)的改變。事件句柄的工作方式與前兩版VB中的回叫函數(shù)(callback function)相似。

解決設(shè)計(jì)問(wèn)題

在面相對(duì)象編程中,“has a”和“is a”語(yǔ)句用來(lái)進(jìn)行對(duì)象之間的聯(lián)系。在VB.NET中,這種類(lèi)型的OOP關(guān)系的***例子就是窗體中的默認(rèn)(default)按鈕和取消(cancle)按鈕。在VB 6.0中,程序員需要設(shè)置按鈕的默認(rèn)值,這樣回車(chē)鍵就起到了點(diǎn)擊按鈕的效果。當(dāng)我剛剛發(fā)現(xiàn)VB.NET中不再提供這個(gè)屬性時(shí),我非常迷惑。實(shí)際上,這個(gè)功能依然存在,但是移到窗體本身中去了?,F(xiàn)在,每個(gè)窗體“has a”默認(rèn)按鈕屬性,由此,可以把窗體的這個(gè)屬性賦值給按鈕對(duì)象。由于窗體可能只有一個(gè)默認(rèn)按鈕和一個(gè)取消按鈕,這個(gè)改變很有意義。

用VB.NET OOP設(shè)計(jì)環(huán)境的過(guò)程中,我最關(guān)心的一個(gè)問(wèn)題是現(xiàn)在有了更多的設(shè)計(jì)問(wèn)題。在Java中,使用OOP需要在設(shè)計(jì)類(lèi)和類(lèi)之間的關(guān)系之前花費(fèi)許多時(shí)間。如果沒(méi)有花上這些時(shí)間,就需要開(kāi)發(fā)團(tuán)隊(duì)的程序員變通性強(qiáng),并且理解按計(jì)劃或者項(xiàng)目進(jìn)程進(jìn)行設(shè)計(jì)修訂的重要性。

在VB6中,許多程序員還趨向于寫(xiě)大塊的過(guò)程(procedural)代碼。盡管這些代碼依然被VB.NET所支持,VB程序員還是需要在編寫(xiě)代碼解決手頭問(wèn)題之前把OOP實(shí)踐和設(shè)計(jì)結(jié)合到解決方案(它由對(duì)象和模式組成)中去。

配置企業(yè)應(yīng)用程序

Visual Studio已經(jīng)開(kāi)始實(shí)現(xiàn)了用與J2EE類(lèi)似的技術(shù)來(lái)配置應(yīng)用程序和方案,這主要通過(guò)XML配置文件。“app.config”文件組織了一種設(shè)置應(yīng)用程序配置的標(biāo)準(zhǔn)方法。.NET安全可以通過(guò)控制面板進(jìn)行配置。在Java中,這種配置的最近例子就是security.properties文件。

網(wǎng)絡(luò)應(yīng)用程序現(xiàn)在同樣包括一個(gè)webconfig.xml的文件。在這個(gè)文件中,程序員可以選擇并配置數(shù)據(jù)庫(kù)連接字符串、安全以及其它選項(xiàng)。這種配置類(lèi)型使得對(duì)Java程序員來(lái)說(shuō)更容易理解.NET是如何工作的,但是,更重要的是,它給了微軟開(kāi)發(fā)員一種進(jìn)行配置和展開(kāi)應(yīng)用程序的標(biāo)準(zhǔn)方法。

開(kāi)發(fā)者的更多選項(xiàng)

很顯然,Java和VB越走越近了。我可以肯定,在OOP成熟之時(shí),我們將會(huì)看到這些語(yǔ)言更加相似。例如,C#接近于Java的程度超過(guò)了它接近VB.NET的程度。

為給定的應(yīng)用做出一個(gè)好的設(shè)計(jì)一直都是一個(gè)挑戰(zhàn)。VB.NET使得這個(gè)挑戰(zhàn)變得簡(jiǎn)單了一些。現(xiàn)在VB是一種面相對(duì)象編程語(yǔ)言,許多設(shè)計(jì)和編程選項(xiàng)已經(jīng)向開(kāi)發(fā)員開(kāi)放了。同樣的,系統(tǒng)設(shè)計(jì)師可以更容易的設(shè)計(jì)出OOP對(duì)象(如可重用的類(lèi))。這個(gè)挑戰(zhàn)將把VB.NET OOP設(shè)計(jì)滲透到程序員的實(shí)踐之中,并讓我們確信設(shè)法增加分配給系統(tǒng)設(shè)計(jì)的時(shí)間是獲得***的解決方案所必不可少的。

以上是“VB.NET中OOP語(yǔ)法怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI