黑馬程序員——OC中的封裝、繼承和多態

一.  封裝:將實現細節進行隱藏,將屬性私有化,通過公共的方法訪問私有的屬性,這個過程就是對對象的封裝

好處:1.給數據進行了過濾,保證數據的正確性

    2.增加了代碼的重用性

    3.將屬性進行了私有化,可以保證屬性的安全性

      重寫:當子類當中有與父類同名(同名,同參,同返回值,同類型)的方法的時候,叫重寫

  //當重寫發生的時候,子類會直接調用本類當中的同名方法,父類當中的方法相當於被覆蓋了,不會再發生調用。

  //重寫作用:就是子類的同名方法當中想要實現一些屬於本類的功能。

    注意:方法可以重寫,但成員變量不可以重寫命名,會造成重複命名。

二.     繼承的定義:有兩個類A類與B類,如果說A類繼承了B類,就說A類擁有了B類的所有屬性和方法。

     *繼承者叫子類 被繼承者叫父類(超類)

     *繼承是單繼承,只有一個直接的父類,一個父類可以有多個子類

     *優點:節省代碼,提高效率,跳高代碼的重用性,安全性,方法修改代碼。

     *由於對象之間有了繼承關係,纔會有多態。

     *缺點:耦合性強(依賴性高)

     *場景:可以用誰是誰來表述,就可以使用繼承。前面的繼承後面的類

     比較:組合模式的使用:用誰擁有誰來表述,就使用組合,後面的屬於前面的

     *NSObject是所有類的父類(基類),他沒有父類。 

     *尋找方法路徑:先在本類的方法列表中找要調用的方法,找到了,就直接使用,找不到就到父類中找,找到方法後,調用,找不到,繼續向上找。一直找到NSObject,還沒有找到,說明,沒有這個方法     

     

 三.多態:

    定義:一種事物的多種形態

    前提:類與類之間要先有繼承

    程序中的表述:父類的指針指向子類的對象,就叫多態

    動態綁定:在運行的階段纔會真正的識別對象的真正類型

    作用:增加方法的擴展性 

    注意:當讓指向子類對象的父類指針,調用子類對象的私有方法的時候,要進行強制轉化。


 四.補充:

     1》self

      self:在那個方法裏面,self就代表什麼

         *在對象方法裏面,self代表對象

         *在類方法裏面,self代表類

              注意:*self只能在方法裏面使用

           *使用self調用方法的時候,要防止自己調用自己,造成死循環

      self可以調用其他的方法

       使用:可以通過self調用成員變量,在調用成員變量的時候,一定是在對象方法內部,self代表的是對象

       self可以通過->調用成員變量,在調用成員變量的時候,self一定代表對象,而且一定在對象方法裏


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章