• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Java編程思想面向對象邏輯思維方法

    發布: 2008-7-08 16:32 | 作者: 不詳 | 來源: 本站原創 | 查看: 59次 | 進入軟件測試論壇討論

    領測軟件測試網

     什么是面向對象的設計思想?也許有不少初學者對這個概念還有許多不明白的地方,特別是這個處于新舊思想交替的時代,許多人剛剛學完現在看來是快要淘汰的只是面向過程的語言。他們的腦子還沒有脫離面向過程思想的束縛,抬頭卻發現,“面向對象”早已經流行開來,這個陌生的詞漫天飛舞。隨便拿起一本流行計算機技術書籍,那里會沒有“面向對象”的字眼!于是心中便惶惑了:什么叫“面向對象”?不感興趣者,一帶而過;有志于在這方面發展的,匆忙找到一本有關書籍來啃究竟什么是“面向對象”。然而,要突破思想的束縛,說難也不難,說到要深刻認識卻也不容易。筆者在做了一些輕量級的工作后,頗以為有點心得,不怕貽笑大方,寫出已供廣大同行批評指正。


     “對象(Object)”一詞,早在十九世紀就有現象學大師胡塞爾提出并定義。對象是世界中的物體在人腦中的映象,是人的意識之所以為意識的反映,是做為一種概念而存在的先念的東西,它還包括了人的意愿。舉例說明吧。當我們認識到一種新的物體,它叫樹,于是在我們的意識當中就形成了樹的概念。這個概念會一直存在于我們的思維當中,并不會因為這棵樹被砍掉而消失。這個概念就是現實世界當中的物體在我們意識當中的映象。我們對它還可以有我們自己的意愿,雖然我們并不需要付諸實現——只要在你的腦中想著把這棵樹砍掉做成桌子、凳子等——我們就把它叫做意向。于是,對象就是客觀世界中物體在人腦中的映象及人的意向。只要這個對象存在我們的思維意識當中,我們就可以籍此判斷同類的東西。譬如,當我們看到另外一棵樹是,并不會因為所見的第一棵樹不在了失去了供參照的模板而不認識這棵樹了。當我們接觸某些新事物時,我們的意識就會為這些事物確立一個對象。當然這個過程是怎么形成的,那就不是我們所能討論的問題了。上面所說的對象研究的是一般意義上的問題,因而它可以外推到一切事物。我們經常所說的“對象”,一班指的是解決信息領域內所遇到問題的方法。特別是應用軟件技術來決問題的方法。如我們經常碰到的面向對象的編程(Object-Oriented Programming)、面向對象的分析(Object-Oriented Analysis)、面向對象的設計(Object-Oriented Design)等。應用前面所介紹的關于對象的概念,可以對這些問題做進一步的分析。在面對較復雜的系統,我們可以將它作為一個對象來進行分析。一個系統(解決某個問題的全套解決方案)作為一個對象,可以由多個部分組成。同樣,這個對象也可以由多個對象組成。對于同類的事物,可以由一個對象來表示。這樣做的益處是顯而易見的,它靈活而高效,可以大大減輕設計人員的工作量,簡化實際的模型。舉一個例子。在關系型數據庫的設計當中,我們可以把一個元組當作對象,給它定義一組操作方法。這些方法將適用于所有元組,從而我們不必在更大的范圍內去細致的考慮不同的元組(如判斷一個元素是否合法):因為它們有一組公共的面向本身的方法,它們“自己”可以“解決”自己的問題。更上一層的對象可以是一個表、視圖等。表對象在元組對象的基礎上又有它們自己的方法,如增加、刪除等。從這個層面上講,它也只需要做“自己”的事情,因為有元組對象的支持,它無須去考慮像元素是否合法這類的事情。甚至,有時為了滿足我們還可以將元素或表群當作時對象并定義它們自己的方法。這樣,更能顯示面向對象的優勢。


     上面所討論的可以說是面向對象的分析方法。在具體的設計過程當中,還應該采用適當的方式。因為面向對象的思想固然很先進,如果做得不好的話,同樣不能達到預期的效果。這主要表現在處理對象與對象的關系上沒有做好,對象與對象的層次不分明。如上面所舉得關系型數據庫得例子,如果在元組層面上得對象過多得考慮一個表對象得因素,或一個表層面上對象過多地考慮一個元組對象的因素,甚至去考慮元素層面上的因素,這些都不是好的面向對象的設計方法。這一點,在語言實現方面,Java比C++更有優勢,因為它不允許多重繼承,從而使對象之間的關系更明確。誰也不會否認C++的功能更強大,但是它也要由次付出巨大代價——當現在代碼庫發展到一定程度、一定規模時,個對象之間的層次關系將變得異常復雜,給后繼使用者得學習、理解帶來很大的困難,應用上很難把握.另外,雖然C++具備面向對象的處理能力,但它還是保留了很多面向過程的東西。用C++完全可以不用面向對象的思想來進行程序設計,當然人們不會這樣去做——除了那些只是把C++看成是C擴充的初學者,這就為以后的發展埋下了隱患。在者一方面,Java的限制更多一點。就者一點還遠遠不夠。搞開發的是人,開發方法是由人決定的。要應用面向對象的方法開發出優秀的軟件,必須要求開發人員具有良好的面向對象的思想。好的工程師可以利用適當的工具開發出優秀的軟件——而不在乎他所使用的語言工具——Java、C++、Object Pascal、Ada等。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: java JAVA Java 面向對象 思想 計算機技術 邏輯思維


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>