領悟物件導向

來源:互聯網
上載者:User

“對象”以真實的事物(不是抽象概念或通俗比喻)為原型,通過封裝與繼承來解決事物規律(類)與真實應用(執行個體)中可能出現的差別,這就是把錯綜複雜的設命題變成整體打包的“封裝”過程。由於這個過程必須要強調對事物過程的歸納與抽象,所以必然會提高設計“對象”的門檻,也正是因為“類對象”存在著這樣的抽象過程,所以才有可能降低應用執行個體的實現難度,並能具備較大的適用範圍。

很多程式員對“對象”概念的理解大約是“霧裡看花”的狀態,似乎是能理解,但又不知道該怎樣應用。只會使用系統提供的基本“對象”,卻不會(或根本就不知道)設計或封裝屬於自己的“自訂對象”。僅僅會使用別人提供的工具幹活,大約只是一個勞動者,並不能成為一個名副其實的“設計”者。

客觀地說“物件導向”的設計理念聽起來容易做起來難。經常見到一些自認為“精通”物件導向理念的程式員卻從來沒有實現過“對象”的設計與封裝,此間不乏帶有一些啼笑皆非的意味。如果把物件導向的理念比作一個殿堂,很多徘徊在門口的人都自以為早已身居殿堂之中,其實這是一個誤解。

編程的意義並不在於通過“代碼(或簡單的應用系統對象)”來描述需求,更主要的是要通過符合“設計理念”的方式,將原始需求轉變成能夠體現“設計思想”的“對象(最貼近於事物自身特性的設計單元)”並通過這種代表著需求內涵的“對象”來完成“設計”。

如果要判別是否真正理解了“物件導向”的開發理念,最簡單、最直接的方式就是看他是否實現過“自訂對象”的封裝,因為這是對物件導向理念的初衷與歸宿。

開發環境為我們提供了設計、封裝、引用各種“對象”的技術手段,如何在這個舞台上抽象、構造、設計、使用屬於我們自己的各種應用“對象”,才是真正展示我們駕馭“物件導向”能力的具體體現。

不要以為“物件導向”的就是那麼深奧、那麼難以理解,其實它就像一層“窗戶紙”,只要你輕輕地“捅”以下,一切問題就會迎刃而解。關鍵是是否意識到了這層“窗戶紙”的存在,並要伸出手指即可。相反,如果沒有意識到它的存在,或不願意為此有所付出,那也只能是在殿堂的門口“霧裡看花”了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.