一. 封裝:將實現細節進行隱藏,將屬性私有化,通過公共的方法訪問私有的屬性,這個過程就是對物件的封裝
好處: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 建立了類和...