1? 封裝:
封裝料滥,也就是把客觀事物封裝成抽象的類然眼,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進(jìn)行信息隱藏葵腹。
2 繼承:
面向?qū)ο缶幊?(OOP)?語言的一個主要功能就是“繼承”高每。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展践宴。
通過繼承創(chuàng)建的新類稱為“子類”或“派生類”鲸匿。
被繼承的類稱為“基類”、“父類”或“超類”阻肩。
繼承的過程带欢,就是從一般到特殊的過程。
要實(shí)現(xiàn)繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實(shí)現(xiàn)乔煞。
在某些?OOP?語言中吁朦,一個子類可以繼承多個基類。但是一般情況下渡贾,一個子類只能有一個基類喇完,要實(shí)現(xiàn)多重繼承,可以通過多級繼承來實(shí)現(xiàn)剥啤。
繼承概念的實(shí)現(xiàn)方式有三類:實(shí)現(xiàn)繼承、接口繼承和可視繼承不脯。
1)實(shí)現(xiàn)繼承是指使用基類的屬性和方法而無需額外編碼的能力府怯;
2)接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實(shí)現(xiàn)的能力防楷;
3)可視繼承是指子窗體(類)使用基窗體(類)的外觀和實(shí)現(xiàn)代碼的能力牺丙。
在考慮使用繼承時,有一點(diǎn)需要注意复局,那就是兩個類之間的關(guān)系應(yīng)該是“屬于”關(guān)系冲簿。例如,Employee?是一個人亿昏,Manager?也是一個人峦剔,因此這兩個類都可以繼承?Person?類。但是?Leg?類卻不能繼承?Person?類角钩,因為腿并不是一個人吝沫。
抽象類僅定義將由子類創(chuàng)建的一般屬性和方法,創(chuàng)建抽象類時递礼,請使用關(guān)鍵字?Interface?而不是?Class惨险。
OO開發(fā)范式大致為:劃分對象→抽象類→將類組織成為層次化結(jié)構(gòu)(繼承和合成) →用類與實(shí)例進(jìn)行設(shè)計和實(shí)現(xiàn)幾個階段。
3 多態(tài)
一些關(guān)聯(lián)的類包含同名的方法程序脊髓,但方法程序的內(nèi)容可以不同辫愉。調(diào)用哪種在運(yùn)行時根據(jù)對象的類確定,同樣的 消息被不同的對象接收時可導(dǎo)致不同的行動将硝。
生動地講:動物都有跑的屬性恭朗,但是馬是噠噠地奔跑,袋鼠是跳著跑袋哼,烏龜是慢慢跑冀墨,對象不同,對類的方法執(zhí)行的不同涛贯。