1.派生類是在基類的基礎(chǔ)之上設(shè)計(jì)出來的, 其目的是擴(kuò)展基類的功能或修改基類功能.
派生類包含了基類的所有特征與功能(子類繼承了父類的所有的內(nèi)容)
2.方法的重寫
從父類繼承的方法,可能這個(gè)方法并不適合子類,可以在子類中重寫父類的方法。 重寫之后,父類的對象調(diào)用父類的方法;子類的對象,調(diào)用子類的方法,不會(huì)引起沖突。 從父類繼承的方法,不適用于子類時(shí),可以直接聲明父類的同名方法,并定義。 不用考慮父類中,方法已存在的問題。 重寫后,子類可以通過super調(diào)用父類的方法。
--------------多態(tài)------------------
1.概念
多態(tài)就是某一類事物的多種形態(tài)
程序中的多態(tài):
不同的對象以自己的方式響應(yīng)相同名稱方法的能力稱為多態(tài);或者多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。
2.多態(tài)的條件
多態(tài)的條件:父類的聲明變量指向子類對象。
有繼承關(guān)系、有方法重寫
3.多態(tài)的優(yōu)點(diǎn)
多態(tài)的主要好處就是簡化了編程接口。它容許在類和類之間重用一些習(xí)慣性的命名,而不用為每一個(gè)新加的函數(shù)命名一個(gè)新名字。這樣,編程接口就是一些抽象的行為的集合,從而和實(shí)現(xiàn)接口的類的區(qū)分開來。
多態(tài)也使得代碼可以分散在不同的對象中而不用試圖在一個(gè)函數(shù)中考慮到所有可能的對象。 這樣使得您的代碼擴(kuò)展性和復(fù)用性更好一些。當(dāng)一個(gè)新的情景出現(xiàn)時(shí),您無須對現(xiàn)有的代碼進(jìn)行改動(dòng),而只需要增加一個(gè)新的類和新的同名方法。
4.多態(tài)的原理
多態(tài)的原理基于OC的動(dòng)態(tài)綁定特性,動(dòng)態(tài)類型能使程序直到執(zhí)行時(shí)才確定對象所屬類型,動(dòng)態(tài)類型綁定能使程序直到執(zhí)行時(shí)才確定要對對象調(diào)用的實(shí)際方法
注意:
(1)如果存在多態(tài),父類是可以訪問子類特有的方法
(2)如果不存在多態(tài),父類是不可以訪問子類特有的方法的