天天看點

Java面向對象的特點和了解

繼承

  繼承是指一個對象從另一個對象中獲得屬性的過程.是面向對象程式設計的三大原則之二,它支援按層次分類的概念.例如,波斯貓是貓的一種,貓又是哺乳動物的一種,哺乳動物又是動物的一種.如果不使用層次的概念,每個對象需要明确定義各自的全部特征.通過層次分類方式,一個對象隻需要在它的類中定義是它成為唯一的 各個屬性,然後從父類中繼承它的通用屬性.是以,正是由于繼承機制,才使得一個對象可以成為一個通用類的一個特定執行個體.一個深度繼承的子類将繼承它在類層次中的每個祖先的所有屬性。

  繼承與封裝可以互相作用.如果一個給定的類封裝了某些屬性,它的任何子類将會含有同樣得屬性,另加各個子類所有得屬性.這是面向對象程式在複雜性上呈線性而非幾何增長的一個重要概念.新的子類繼承其所有祖先的所有屬性.子類和系統中的其他代碼不會産生無法預料的互動作用。

  多态

  多态是指一個方法隻能有一個名稱,但可以有許多形态,也就是程式中可以定義多個同名的方法,用"一個接口,多個方法"來描述.可以通過方法的參數和類型引用。

  封裝,繼承,多态的組合使用

  在由封裝,繼承,多态所組成的環境中,程式員可以編寫出比面向過程模型更健壯,更具擴充性的程式.經過仔細設計的類層次結構是重用代碼的基礎.封裝能讓程式員不必修改公有接口的代碼即可實作程式的移植.多态能使程式員開發出簡潔,易懂,易修改的代碼.例如:汽車

從繼承的角度看,駕駛員都依靠繼承性來駕駛不同類型(子類)的汽車,無論這輛車是轎車還是卡車,是奔馳牌還是菲亞特牌,駕駛員都能找到方向盤,手刹,換檔器.經過一段時間駕駛後,都能知道手動檔與自動檔之間的差别,因為他們實際上都知道這兩者的共同超類:傳動裝置.

從封裝的角度看,駕駛員總是看到封裝好的特性.刹車隐藏了許多複雜性,其外觀如此簡單,用腳就能操作它.發動機,手刹,輪胎大小的實作對與刹車類的定義沒有影響。

  從多态的角度看,刹車系統有正鎖反鎖之分,駕駛員隻用腳踩刹車停車,同樣的接口可以用來控制若幹種不同的實作(正鎖或反鎖).

這樣各個獨立的構件才被轉換為汽車這個對象的.同樣,通過使用面向對象的設計原則,程式員可以把一個複雜程式的各個構件組合在一起,形成一個一緻,健壯,可維護的程式。