一. 封裝:將實現細節進行隱藏,將屬性私有化,經過公共的方法訪問私有的屬性,這個過程就是對對象的封裝安全
好處:1.給數據進行了過濾,保證數據的正確性spa
2.增長了代碼的重用性指針
3.將屬性進行了私有化,能夠保證屬性的安全性對象
重寫:當子類當中有與父類同名(同名,同參,同返回值,同類型)的方法的時候,叫重寫繼承
//當重寫發生的時候,子類會直接調用本類當中的同名方法,父類當中的方法至關於被覆蓋了,不會再發生調用。it
//重寫做用:就是子類的同名方法當中想要實現一些屬於本類的功能。效率
注意:方法能夠重寫,但成員變量不能夠重寫命名,會形成重複命名。變量
二. 繼承的定義:有兩個類A類與B類,若是說A類繼承了B類,就說A類擁有了B類的全部屬性和方法。擴展
*繼承者叫子類 被繼承者叫父類(超類)循環
*繼承是單繼承,只有一個直接的父類,一個父類能夠有多個子類
*優勢:節省代碼,提升效率,跳高代碼的重用性,安全性,方法修改代碼。
*因爲對象之間有了繼承關係,纔會有多態。
*缺點:耦合性強(依賴性高)
*場景:能夠用「誰是誰」來表述,就可使用繼承。前面的繼承後面的類
比較:組合模式的使用:用「誰擁有誰」來表述,就使用組合,後面的屬於前面的
*NSObject是全部類的父類(基類),他沒有父類。
*尋找方法路徑:先在本類的方法列表中找要調用的方法,找到了,就直接使用,找不到就到父類中找,找到方法後,調用,找不到,繼續向上找。一直找到NSObject,尚未找到,說明,沒有這個方法
三.多態:
定義:一種事物的多種形態
前提:類與類之間要先有繼承
程序中的表述:父類的指針指向子類的對象,就叫多態
動態綁定:在運行的階段纔會真正的識別對象的真正類型
做用:增長方法的擴展性
注意:當讓指向子類對象的父類指針,調用子類對象的私有方法的時候,要進行強制轉化。
四.補充:
1》self
self:在那個方法裏面,self就表明什麼
*在對象方法裏面,self表明對象
*在類方法裏面,self表明類
注意:*self只能在方法裏面使用
*使用self調用方法的時候,要防止本身調用本身,形成死循環
self能夠調用其餘的方法
使用:能夠經過self調用成員變量,在調用成員變量的時候,必定是在對象方法內部,self表明的是對象
self能夠經過->調用成員變量,在調用成員變量的時候,self必定表明對象,並且必定在對象方法裏