亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

也談面向對象

2019-11-18 12:07:37
字體:
來源:轉載
供稿:網友

  什么是面向對象的設計思想?也許有不少初學者對這個概念還有許多不明白的地方,非凡是這個處于新舊思想交替的時代,許多人剛剛學完現在看來是快要淘汰的只是面向過程的語言。他們的腦子還沒有脫離面向過程思想的束縛,抬頭卻發現,“面向對象”早已經流行開來,這個生疏的詞漫天飛舞。隨便拿起一本流行計算機技術書籍,那里會沒有“面向對象”的字眼!于是心中便惶惑了:什么叫“面向對象”?不感愛好者,一帶而過;有志于在這方面發展的,匆忙找到一本有關書籍來啃究竟什么是“面向對象”。然而,要突破思想的束縛,說難也不難,說到要深刻熟悉卻也不輕易。筆者在做了一些輕量級的工作后,頗以為有點心得,不怕貽笑大方,寫出已供廣大同行批評指正。
  
  “對象(Object)”一詞,早在十九世紀就有現象學大師胡塞爾提出并定義。對象是世界中的物體在人腦中的映象,是人的意識之所以為意識的反映,是做為一種概念而存在的先念的東西,它還包括了人的意愿。舉例說明吧。當我們熟悉到一種新的物體,它叫樹,于是在我們的意識當中就形成了樹的概念。這個概念會一直存在于我們的思維當中,并不會因為這棵樹被砍掉而消失。這個概念就是現實世界當中的物體在我們意識當中的映象。我們對它還可以有我們自己的意愿,雖然我們并不需要付諸實現——只要在你的腦中想著把這棵樹砍掉做成桌子、凳子等——我們就把它叫做意向。于是,對象就是客觀世界中物體在人腦中的映象及人的意向。只要這個對象存在我們的思維意識當中,我們就可以籍此判定同類的東西。譬如,當我們看到另外一棵樹是,并不會因為所見的第一棵樹不在了失去了供參照的模板而不熟悉這棵樹了。當我們接觸某些新事物時,我們的意識就會為這些事物確立一個對象。當然這個過程是怎么形成的,那就不是我們所能討論的問題了。
  
  上面所說的對象研究的是一般意義上的問題,因而它可以外推到一切事物。我們經常所說的“對象”,一班指的是解決信息領域內所碰到問題的方法。非凡是應用軟件技術來解決問題的方法。如我們經常碰到的面向對象的編程(Object-Oriented PRogramming)、面向對象的分析(Object-Oriented Analysis)、面向對象的設計(Object-Oriented Design)等。應用前面所介紹的關于對象的概念,可以對這些問題做進一步的分析。在面對較復雜的系統,我們可以將它作為一個對象來進行分析。一個系統(解決某個問題的全套解決方案)作為一個對象,可以由多個部分組成。同樣,這個對象也可以由多個對象組成。對于同類的事物,可以由一個對象來表示。這樣做的益處是顯而易見的,它靈活而高效,可以大大減輕設計人員的工作量,簡化實際的模型。舉一個例子。在關系型數據庫的設計當中,我們可以把一個元組當作對象,給它定義一組操作方法。這些方法將適用于所有元組,從而我們不必在更大的范圍內去細致的考慮不同的元組(如判定一個元素是否合法):因為它們有一組公共的面向本身的方法,它們“自己”可以“解決”自己的問題。更上一層的對象可以是一個表、視圖等。表對象在元組對象的基礎上又有它們自己的方法,如增加、刪除等。從這個層面上講,它也只需要做“自己”的事情,因為有元組對象的支持,它無須去考慮像元素是否合法這類的事情。甚至,有時為了滿足我們還可以將元素或表群當作時對象并定義它們自己的方法。這樣,更能顯示面向對象的優勢。
  
  上面所討論的可以說是面向對象的分析方法。在具體的設計過程當中,還應該采用適當的方式。因為面向對象的思想固然很先進,假如做得不好的話,同樣不能達到預期的效果。這主要表現在處理對象與對象的關系上沒有做好,對象與對象的層次不分明。如上面所舉得關系型數據庫得例子,假如在元組層面上得對象過多得考慮一個表對象得因素,或一個表層面上對象過多地考慮一個元組對象的因素,甚至去考慮元素層面上的因素,這些都不是好的面向對象的設計方法。這一點,在語言實現方面,java比C++更有優勢,因為它不答應多重繼續,從而使對象之間的關系更明確。誰也不會否認C++的功能更強大,但是它也要由次付出巨大代價——當現在代碼庫發展到一定程度、一定規模時,個對象之間的層次關系將變得異常復雜,給后繼使用者得學習、理解帶來很大的困難,應用上很難把握。另外,雖然C++具備面向對象的處理能力,但它還是保留了很多面向過程的東西。用C++完全可以不用面向對象的思想來進行程序設計,當然人們不會這樣去做——除了那些只是把C++看成是C擴充的初學者,這就為以后的發展埋下了隱患。在者一方面,Java的限制更多一點。就者一點還遠遠不夠。搞開發的是人,開發方法是由人決定的。要應用面向對象的方法開發出優秀的軟件,必須要求開發人員具有良好的面向對象的思想。好的工程師可以利用適當的工具開發出優秀的軟件——而不在乎他所使用的語言工具——Java、C++、Object Pascal、Ada等。
  
  要能應用面向對象的思想熟練得做好系統分析、設計、實現(編程),首先要求開發人員知道什么是對象,什么是面向對象得概念,否則是談不上應用面向對象得思想搞軟件開發了。希望讀者能在看到我在前面的不太嚴密、具體的論述之后可以對“對象”這個概念由一個初步的了解,同時也希望有不同看法的同行提出批評。其次,還要求開發人員有比較豐富的開發經驗。否則,光談理論,那是不能真正體會“面向對象”的含義的。盡管如此,我們還是可以定出一般的規則的。拋開生命周期的其它階段,對一個確立的系統一般可以進行以下幾個過程:
  
  一、首先應用面向對象的思想進行系統分析。仔細的劃分系統的各個部分,明確它們之間的層次關系,然后將各個部分作為一個對象進行功能上的分析。例如,要設計一個用戶界面,它可能由幾個主要的窗體組成:主窗體MainFrame、功能性子窗體FunctionFrame以及對話對話框Dialog。其中,MainFrame中可能還包括菜單、工具條、文本框、狀態條等Windows組件。對于要完成一些重要功能的組件,我們可以單獨將它作為一個對象看待,在具體的實現中,用單獨一個類來表示。而一些并不是很重要的、只是在過程中需要用到的組件,就可以將它們集成到其他對象中去。要明確每個對象自己的任務——不要讓它有缺陷,也不能越殂代庖。各個對象之間的關系通過過程、內容、功能等耦合來實現。
  
  實際上,假如你是用Java進行開發,你會發現swing組件本身就非常好用,因為它們之間的關系是很分明的——你無須去理解分清象C++中的組件那樣復雜的關系。在開發你自己的組件時,也需要力求達到這樣的效果。
  
  二、其次時應用面向對象的思想進行系統設計。其實在真正做好了系統分析的工作之后,進行設計就比較輕松了。這段時間只要進一步確定各個對象的功能以及各個對象之間的關系。為了能夠更好地幫助實現人員明白各個對象之間的關系,可以利用一些工具將這些組件的關系表示出來,統一建模語言(Uniformed Module Language,UML)就是這樣的一種好東西。它不僅可以現在幫助開發人員了解整個系統,也為以后的維護工作提供一個檔案文件,給以后的工作提供巨大的方便。
  
也談面向對象

  三、實現(編碼)。這一點就不用多說了。在我的再談面向對象文章中,將會給出一個比較簡單的實例,希望會給讀者一個啟發。
  
  在搞軟件開發時,編碼不是最重要的。分析、設計才是最重要的。也許當我們接受了一些更先進的思想之后,會更加理解這一點了。希望我們中國的軟件開發人員能應用面向對象的思想開發出具有國際競爭力的優秀軟件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级黑人aaaaaaa做受| 成人免费福利在线| 91免费观看网站| 欧美日韩国产第一页| 久久久久www| 日韩欧美999| 欧美电影院免费观看| 日韩动漫免费观看电视剧高清| 亚洲精品久久久久中文字幕欢迎你| 成人网在线视频| 这里只有精品久久| 欧美性视频精品| 亚洲性生活视频| 色综合久久88色综合天天看泰| 久久99热这里只有精品国产| 色婷婷亚洲mv天堂mv在影片| 久久免费精品日本久久中文字幕| 欧美日韩成人在线视频| 91免费版网站入口| 97欧美精品一区二区三区| 国产精品99久久久久久www| 91久热免费在线视频| 久久成人免费视频| 国产精品久久久久久久一区探花| 久久中文字幕一区| 欧美小视频在线观看| 黑人极品videos精品欧美裸| 成人中心免费视频| 97在线视频免费| 久久成人精品视频| 国产精品久久一区主播| 亚洲天堂开心观看| 国产精品色婷婷视频| 91亚洲va在线va天堂va国| 欧美xxxx14xxxxx性爽| 亚洲伊人第一页| 国产精品扒开腿做爽爽爽的视频| 久久高清视频免费| 久久久久久成人精品| 亚洲小视频在线观看| 国产精品老牛影院在线观看| 亚洲另类激情图| 欧美日韩福利在线观看| 在线成人免费网站| 国产视频精品免费播放| 国自产精品手机在线观看视频| 91国内在线视频| 亚洲午夜国产成人av电影男同| 欧美激情亚洲激情| 亚洲精品国产福利| 亚洲人成在线观看| 欧美大片欧美激情性色a∨久久| 插插插亚洲综合网| 97精品免费视频| 欧美日韩免费在线| 亚洲免费福利视频| 精品无人区太爽高潮在线播放| 欧美激情精品久久久久久黑人| 国产一区二区美女视频| 欧美高清视频一区二区| 欧美黄色小视频| 亚洲欧美中文日韩在线| 91欧美精品成人综合在线观看| 亚洲精品wwwww| 黄色成人在线播放| 日韩电影在线观看免费| 欧美午夜xxx| 亚洲男人天堂手机在线| 久久影视电视剧免费网站| 久久国产精品电影| 欧美成人免费网| 97在线视频精品| 97精品欧美一区二区三区| 日韩欧美一区二区三区| 成人免费观看a| 粉嫩老牛aⅴ一区二区三区| 国产精品色婷婷视频| 久久99精品久久久久久青青91| 亚洲天堂网站在线观看视频| 久久久在线免费观看| 日本精品性网站在线观看| 欧美精品情趣视频| 成人黄色午夜影院| 中日韩美女免费视频网址在线观看| 久久91超碰青草是什么| 91精品国产自产在线观看永久| 亚洲社区在线观看| 国产一区二区三区视频| 欧美夫妻性生活xx| 久久久久日韩精品久久久男男| 欧美成人精品在线播放| 91精品久久久久久久久不口人| 欧美成人合集magnet| 国产丝袜一区二区三区| 国产精品网红福利| 久久久之久亚州精品露出| 国产成人午夜视频网址| 亚洲人成伊人成综合网久久久| 成人在线视频网站| 性欧美xxxx| 亚洲一区二区三区xxx视频| 亚洲国产婷婷香蕉久久久久久| 国产精品丝袜高跟| 欧美一级在线播放| 成人信息集中地欧美| 欧美日韩国产成人在线| 成人h视频在线观看播放| 国产亚洲欧美日韩一区二区| 欧美极品少妇全裸体| 欧美日韩国产精品专区| 亚洲黄色有码视频| 亚洲精品欧美极品| 91av中文字幕| 国产丝袜一区视频在线观看| 久久久精品久久久久| 国产日韩欧美在线| 在线观看国产精品91| 成人激情视频在线观看| 欧美专区中文字幕| 国产亚洲在线播放| 亚洲性av网站| 欧美极度另类性三渗透| 国产精品香蕉av| 欧美成aaa人片在线观看蜜臀| 欧美在线影院在线视频| 精品亚洲一区二区三区在线播放| 青草热久免费精品视频| 欧美成人sm免费视频| 欧美成人手机在线| 高清在线视频日韩欧美| 91av国产在线| 国产成人免费av电影| 久久精品一区中文字幕| 欧亚精品中文字幕| 色无极亚洲影院| 在线视频日本亚洲性| 中文字幕免费国产精品| 亚洲欧美国产一本综合首页| 日韩久久免费电影| 91美女福利视频高清| 久久久久久成人精品| 最近2019年手机中文字幕| 国产日韩欧美自拍| 久久精品在线播放| 日韩免费观看视频| 国产成人精品视频| 亚洲精品久久久久久久久久久久| 日韩在线视频免费观看高清中文| 黄网动漫久久久| 久久久这里只有精品视频| 国产精品亚洲网站| 欧美精品成人在线| 亚洲国产精品小视频| 国产午夜精品美女视频明星a级| 热99精品里视频精品| 欧美精品18videosex性欧美| 国产精品劲爆视频| 国产精品成人免费视频| 中文字幕av一区二区| 成人网在线视频| 国产精品第一区| 亚洲欧美日韩精品久久| 青青精品视频播放| 欧美激情中文字幕乱码免费|