国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

VB.NET和Java的OOP設(shè)計

2019-11-18 11:55:30
字體:
供稿:網(wǎng)友

  我使用Visual Basic .NET的時間越長,我就越是欣賞.NET集合的語言和結(jié)構(gòu)。作為一名VB程序員,得知這個消息——我寫java和J2EE程序的經(jīng)驗在轉(zhuǎn)換到.NET的過程中是非常有用的——后,我非常興奮。這兩個語言越成熟,它們也就越相似。盡管Java實際上是一種面向?qū)ο缶幊蹋╫bject-oriented PRogramming,OOP)語言,它的許多設(shè)計還是受到了C++和Smalltalk的影響。
  
  
  
  VB.NET采納了包括Java在內(nèi)的許多其它面相對象編程語言的功能和特點。Visual Basic .NET把基本數(shù)據(jù)類型(字符串、整型、雙精度等等)轉(zhuǎn)換成帶有屬性和方法的對象;它還引入了Java類型的錯誤捕捉機(jī)制(用Try和Catch);VB.NET還把代碼編譯成微軟中間語言(Microsoft Intermediate Language,IL);它還提供了基于xml的應(yīng)用程序配置。更重要的是設(shè)計面向?qū)ο蠼鉀Q方案的能力可以用任何語言實現(xiàn)。在本文中,我將比較Visual Basic .NET語言和Java;不過與其它面相對象編程語言來說,VB.NET現(xiàn)在本質(zhì)上在走它自己的路。
  
  另一方面,Sun公司最近公布它將在2003年夏季推出一種.NET風(fēng)格的開發(fā)環(huán)境。這個新環(huán)境是否會讓Java成為主流,我們只能拭目以待。Java所欠缺的一個優(yōu)點就是友好的用戶界面,程序員在用Java寫應(yīng)用程序之前往往不得不花上更多的時間來學(xué)會Java編程和面相對象編程的基本知識。用Visual Basic,開發(fā)者可以用他們所希望的任何方法(經(jīng)常是錯誤的方法)來寫程序,這樣,在維護(hù)程序時,這成了一個大問題。在Sun的新的Java IDE(集成開發(fā)環(huán)境)在這個夏天出現(xiàn)之前,Sun公司應(yīng)該向Java編程新手介紹幾個基本指南,讓他們體會到OOP設(shè)計的重要性。
  
  OOP語法是獨立的嗎?
  在Visual Basic中,如同在Java中那樣,任何東西都是對象——字符、整型以及它所以包括的其它基本類型。Visual Basic語言的早先版本包括了一些內(nèi)建函數(shù)來處理字符串;字符串或者整型沒有屬性和方法。現(xiàn)在,在Visual Basic中,字符串和Java中的字符串幾乎是相同的。諸如字符串和雙精度這項基本類型的相同是確實的。在Java中,int和double(基本類型)依然存在,但在VB.NET中,它們成功的被各自的對象所取代。
  
  把字符串和數(shù)字轉(zhuǎn)換成對象可以讓代碼更清楚、更少依靠編程語言本身。我們給出一個例子,為了從一個字符串中找到一個字符,用早先版本的VB,程序員可能會這么寫:
  
  sMyString = Mid(sMyString,3,4)
  
  
  現(xiàn)在,它可以被替換為:
  
  sMyString = sMyString.substring(3,4)
  
  
  VB命令現(xiàn)在依然得到了保留,假如轉(zhuǎn)換時出現(xiàn)問題,它們還可以使用;但是在上面例子中的第二部分,用VB、Java或是C#實現(xiàn),其語法是相同的。以我的經(jīng)驗,VB程序員拋棄老VB語法采用“新的”面向?qū)ο缶幊碳夹g(shù)幾乎不會出現(xiàn)問題。
  
  事件句柄(event handlers)是VB.NET所提供的另一個強(qiáng)大補(bǔ)充,它的功能也可以與Java相提并論。(事件句柄在Java中也成為“監(jiān)聽者(listerer)”。)利用事件句柄,程序員可以給對象分配默認(rèn)方法。例如,VB.NET開發(fā)者可以給Datagrid添加一個句柄來處理數(shù)據(jù)的改變。事件句柄的工作方式與前兩版VB中的回叫函數(shù)(callback function)相似。
  解決設(shè)計問題
  
  
  在面相對象編程中,“has a”和“is a”語句用來進(jìn)行對象之間的聯(lián)系。在VB.NET中,這種類型的OOP關(guān)系的最好例子就是窗體中的默認(rèn)(default)按鈕和取消(cancle)按鈕。在VB 6.0中,程序員需要設(shè)置按鈕的默認(rèn)值,這樣回車鍵就起到了點擊按鈕的效果。當(dāng)我剛剛發(fā)現(xiàn)VB.NET中不再提供這個屬性時,我非常迷惑。實際上,這個功能依然存在,但是移到窗體本身中去了。現(xiàn)在,每個窗體“has a”默認(rèn)按鈕屬性,由此,可以把窗體的這個屬性賦值給按鈕對象。由于窗體可能只有一個默認(rèn)按鈕和一個取消按鈕,這個改變很有意義。
  
  用VB.NET遷移到OOP環(huán)境的過程中,我最關(guān)心的一個問題是現(xiàn)在有了更多的設(shè)計問題。在Java中,使用OOP需要在設(shè)計類和類之間的關(guān)系之前花費許多時間。假如沒有花上這些時間,就需要開發(fā)團(tuán)隊的程序員變通性強(qiáng),并且理解按計劃或者項目進(jìn)程進(jìn)行設(shè)計修訂的重要性。
  
  在VB6中,許多程序員還趨向于寫大塊的過程(procedural)代碼。盡管這些代碼依然被VB.NET所支持,VB程序員還是需要在編寫代碼解決手頭問題之前把OOP實踐和設(shè)計結(jié)合到解決方案(它由對象和模式組成)中去。
  
  配置企業(yè)應(yīng)用程序
  Visual Studio已經(jīng)開始實現(xiàn)了用與J2EE類似的技術(shù)來配置應(yīng)用程序和方案,這主要通過XML配置文件。“app.config”文件組織了一種設(shè)置應(yīng)用程序配置的標(biāo)準(zhǔn)方法。.NET安全可以通過控制面板進(jìn)行配置。在Java中,這種配置的最近例子就是security.properties文件。
  
  網(wǎng)絡(luò)應(yīng)用程序現(xiàn)在同樣包括一個webconfig.xml的文件。在這個文件中,程序員可以選擇并配置數(shù)據(jù)庫連接字符串、安全以及其它選項。這種配置類型使得對Java程序員來說更輕易理解.NET是如何工作的,但是,更重要的是,它給了微軟開發(fā)員一種進(jìn)行配置和展開應(yīng)用程序的標(biāo)準(zhǔn)方法。
  
  開發(fā)者的更多選項
  很顯然,Java和VB越走越近了。我可以肯定,在OOP成熟之時,我們將會看到這些語言更加相似。例如,C#接近于Java的程度超過了它接近VB.NET的程度。
  
  為給定的應(yīng)用做出一個好的設(shè)計一直都是一個挑戰(zhàn)。VB.NET使得這個挑戰(zhàn)變得簡單了一些。現(xiàn)在VB是一種面相對象編程語言,許多設(shè)計和編程選項已經(jīng)向開發(fā)員開放了。同樣的,系統(tǒng)設(shè)計師可以更輕易的設(shè)計出OOP對象(如可重用的類)。這個挑戰(zhàn)將把OOP設(shè)計滲透到程序員的實踐之中,并讓我們確信設(shè)法增加分配給系統(tǒng)設(shè)計的時間是獲得最好的解決方案所必不可少的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋宁县| 呼伦贝尔市| 霍山县| 绵竹市| 乐亭县| 政和县| 遂宁市| 东乡县| 壶关县| 长春市| 阳春市| 宜兰市| 杭州市| 德清县| 西青区| 饶平县| 呼伦贝尔市| 宿松县| 平陆县| 枞阳县| 深水埗区| 攀枝花市| 分宜县| 景东| 长白| 玉树县| 开封县| 桦川县| 旬邑县| 兴隆县| 来安县| 平远县| 土默特左旗| 阳山县| 龙门县| 中阳县| 鱼台县| 万宁市| 托里县| 枣阳市| 常德市|