java語言學習002_麵向對象編程思想
人類在認識世界時,為了方便自己和智慧提升,很自然的對事物進行了分類。對世界進行了抽象,若把所有各個事物看做對象,縱觀所有對象,這些對象具有各自的或共有的特征,並且又有共有的或各自的的能力,這樣就可以對具有相同一些特征和一些能力的事物進行了歸類。
比如,車,有汽車,火車他們都有哪些屬性?
汽車,特征:長度,顏色,速度,輪胎,載重,平麵行走……能力:移動,載東西,……
火車,特征:長度,顏色,速度,輪胎,載重,軌道行走……能力:移動,載東西,……
所以看出,車這個類型,就特征:長度,顏色,速度,輪胎,載重等,能力:移動,載東西等。所以就產生了,車,這個類,並有汽車,火車等類的對象(其他的就不詳細列出)。
“類”就是事物的種類、類型,是對某些具有相似特征的事物的總稱,而“對象”是“類”的“實例”。“類”是抽象概念上的定義,而“對象”是實際存在的具體的一個實體。
根據這個思想,就產生了,麵向對象的計算機編程,麵向對象編程思想是相對於C語言中的麵向過程編程思想。
麵向過程就是分析出解決問題所需要的步驟,然後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
麵向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
在麵向對象的編程中(java),想完成一件事,隻要去產生一個能完成此件事的類的對象(new object),並且讓這個對象幹這件事情的能力發揮(調用對象完成此事的方法method),就能完成我們想要的事情(業務),而這個類的對象的能力(方法method)做了什麼,或者做這件事詳細的過程,就不用太多的關注。這就是麵向對象編程思想了。
麵向對象編程思想有三大特征:封裝,(抽象),繼承,多態性。
抽象就是忽略一個主題中與當前目標無關的那些方麵,以便更充分地注意與當前目標有關的方麵。抽象並不打算了解全部問題,而隻是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方麵,一是過程抽象,二是數據抽象。
如:找工作,公司需要編寫java代碼的人,就隻關心:java,專業,工作經驗等,而不去關心性別,身高,會不會跳舞之類的了。
封裝:封裝是把過程和數據包圍起來,對數據的訪問隻能通過已定義的界麵。麵向對象計算始於這個基本概念,即現實世界可以被描繪成一係列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裏繼承方法和實例變量,並且類可以修改或增加新的方法使之更適合特殊的需要。
多態性:多態性是指允許不同類的對象對同一消息作出響應。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。
最後更新:2017-04-03 05:39:47