黑馬程式設計師 OC中的封裝 繼承和多型

2021-06-26 14:30:51 字數 1251 閱讀 8546

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

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

2.增加了**的重用性

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

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

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

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

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

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

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

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

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

*由於物件之間有了繼承關係,才會有多型。

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

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

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

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

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

三.多型:

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

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

程式中的表述:父類的指標指向子類的物件,就叫多型

動態繫結:在執行的階段才會真正的識別物件的真正型別

作用:增加方法的擴充套件性

注意:當讓指向子類物件的父類指標,呼叫子類物件的私有方法的時候,要進行強制轉化。

四.補充:

1》self

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

*在物件方法裡面,self代表物件

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

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

*使用self呼叫方法的時候,要防止自己呼叫自己,造成死迴圈

self可以呼叫其他的方法

使用:可以通過self呼叫成員變數,在呼叫成員變數的時候,一定是在物件方法內部,self代表的是物件

self可以通過->呼叫成員變數,在呼叫成員變數的時候,self一定代表物件,而且一定在物件方法裡

黑馬程式設計師 OC封裝

物件導向的三大特性 封裝 繼承和多型 在開發過程中,考慮到安全性要求,我們一般不在成員變數名前面使用 public protected等關鍵字修飾,而是使用set方法來為物件提供成員變數的值。set方法的內部也可以對一些不合理的賦值進行篩選過濾。set方法的作用 為外界提供乙個設定成員變數值的方法 ...

黑馬程式設計師 OC 學習之旅 封裝 繼承

類方法的概述 表示類方法,就是類呼叫方法,不依賴任何物件的方法 表示物件方法,只能物件呼叫,依賴於任何物件的方法 類的使用注意事項 類方法可以和例項方法同名,例項方法有例項物件訪問呼叫,類方法要通過類裡訪問呼叫。類方法也可以是從父類繼承而來,子類可以重寫類方法,類方法和例項方法一樣在inte ce ...

黑馬程式設計師 OC的繼承

oc物件導向 繼承 一 基本概念 程式的世界和人類的 物件 世界在思想上是沒有設麼區別的,富二代繼承了父母,自然就擁有了父母擁有的所有資源,子類繼承了父類同樣就擁有了父類所有的方法和屬性 成員變數 在這裡動物是貓類和狗類的父類,黑貓和白貓類是貓類的子類。繼承的好處 1 抽取出了重複的 2 建立了類和...