JAVA的物件導向思想

來源:互聯網
上載者:User

標籤:核心   構造   font   java   基礎上   資料   難度   哪些   判斷   

Java的物件導向思想如何樹立

要知道Java物件導向的思想,那麼我感覺應該對比著來學習。

首先我們要區分一下“基於對象”和“物件導向”的區別。

基於對象,通常指的是對資料的封裝,以及提供一組方法對封裝過的資料操作。就比如 C 的 IO 庫中的 FILE * 就可以看成是基於對象的。

而物件導向呢,則在基於對象的基礎上增加了多態性。多態就是可以用統一的方法對不同的對象進行同樣的操作。當然,這些對象不能完全不同,而需要有一些共性,只有存在了這些共性才可能用同樣的方法去操作它們。就比如A 和 B 在繼承關係上都有共同的祖先 R ,那麼我們就可以把 A 和 B 都用對待 R 的控制方法去控制它們。

 

其實這裡面向還是有兩個概念,面向過程和物件導向,這個可能就會很容易理解了

物件導向是相對面向過程說的。

簡單來說,區別就是一個是make a dog bark,一個是a dog barks:

make bark(dog)

dog.bark()

 

物件導向的做法確實是把屬性和功能封裝起來,但是其核心是歸類和抽象。

把相關的屬性和功能集中起來,把可以分離的部分隔絕開來,從而把複雜的商務邏輯切割成互相 之間可以相對獨立的部分,降低開發的難度。

所以物件導向絕對不僅僅是弄一個class然後把一堆東西往裡面塞,真正重要的是判斷需要構造 哪些class,它們之間的關聯,以及把什麼東西往哪一個裡面塞。

還有一個更簡單的例子

給你一個任務,你要思考怎麼做。

如果你的思維方式是:我先做什麼,再做什麼……這叫面向過程;

如果思維方式是:我先做一個什麼東西來做這件事,再做一個什麼東西來做那件事,然後它們怎 麼相互配合……這叫物件導向。

再通俗一點就是,物件導向是有個對象會給你做這件事,你只需要調用該對象就能完成這件事。而面向過程卻是你得自己做。

JAVA的物件導向思想

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.