壹.前言
其實不管是java還是.net都是屬於面向對象程序設計語言,歸根結底,它們都離不開面向對象,所以什麽是面向對象呢,意思就是object-oriented將對數據和對數據的操作作為壹個相互依賴的關系、不可分割的整體,才用信息隱蔽技術和數據抽象,更簡單地解決現實當中的問題!
上面的概念比較抽象,這裏涉及到壹個類的問題,通俗地說,就是把壹個事物抽象出來成為類,而這個類的實例就是對象,類跟對象的關系其實就相當於設計圖紙跟實物之間的關系,面向對象其實就是面向於類的!
面向對象的三大特性:封裝、繼承、多態!
二.基本概念
1.封裝
封裝的意思其實很簡單:就像妳使用優盤壹樣,優盤被封裝在壹個盒子裏面,妳根本不需要知道它是怎麽工作的,妳只要知道怎麽用它就行了,當然用的時候是使用USB接口,對封裝的類進行調用的時候也是用特定的接口進行調用的!
2.繼承
繼承是指壹個對象從另壹個對象中獲得屬性的過程.是面向對象程序設計的三大原則之二,它支持按層次分類的概念.例如,波斯貓是貓的壹種,貓又是哺乳動物的壹種,哺乳動物又是動物的壹種.如果不使用層次的概念,每個對象需要明確定義各自的全部特征.通過層次分類方式,壹個對象只需要在它的類中定義是它成為唯壹的各個屬性,然後從父類中繼承它的通用屬性.因此,正是由於繼承機制,才使得壹個對象可以成為壹個通用類的壹個特定實例.壹個深度繼承的子類將繼承它在類層次中的每個祖先的所有屬性.
繼承與封裝可以互相作用.如果壹個給定的類封裝了某些屬性,它的任何子類將會含有同樣得屬性,另加各個子類所有得屬性.這是面向對象程序在復雜性上呈線性而非幾何增長的壹個重要概念.新的子類繼承其所有祖先的所有屬性.子類和系統中的其他代碼不會產生無法預料的交互作用.
3.多態
多態是指壹個方法只能有壹個名稱,但可以有許多形態,也就是程序中可以定義多個同名的方法,用"壹個接口,多個方法"來描述.可以通過方法的參數和類型引用.
三.封裝、繼承、多態之間的關系
下面我給妳講壹個封裝、繼承、多態組合起來的例子:
在由封裝,繼承,多態所組成的環境中,程序員可以編寫出比面向過程模型更健壯,更具擴展性的程序.經過仔細設計的類層次結構是重用代碼的基礎.封裝能讓程序員不必修改公有接口的代碼即可實現程序的移植.多態能使程序員開發出簡潔,易懂,易修改的代碼.例如:汽車
從繼承的角度看,駕駛員都依靠繼承性來駕駛不同類型(子類)的汽車,無論這輛車是轎車還是卡車,是奔馳牌還是菲亞特牌,駕駛員都能找到方向盤,手剎,換檔器.經過壹段時間駕駛後,都能知道手動檔與自動檔之間的差別,因為他們實際上都知道這兩者的***同超類:傳動裝置.
從封裝的角度看,駕駛員總是看到封裝好的特性.剎車隱藏了許多復雜性,其外觀如此簡單,用腳就能操作它.發動機,手剎,輪胎大小的實現對與剎車類的定義沒有影響.
從多態的角度看,剎車系統有正鎖反鎖之分,駕駛員只用腳踩剎車停車,同樣的接口可以用來控制若幹種不同的實現(正鎖或反鎖)
這樣各個獨立的構件才被轉換為汽車這個對象的.同樣,電腦培訓認為可以通過使用面向對象的設計原則,程序員可以把壹個復雜程序的各個構件組合在壹起,形成壹個壹致,健壯,可維護的程序。