第四章 繼承

2021-06-06 17:43:49 字數 978 閱讀 8357

一、為什麼要繼承

在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類

其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法

二、繼承語法

@inte***ce circle

: nsobject

繼承是在介面中定義的

冒號後的類名是要整合的類,

nsobject

是cocoa

中類最原始的類

objective-c

中只能繼承乙個類,

c++可以繼承多個術語

超類superclass

、父類parentclass

、子類subclas

孩子類childclass

、重寫override

三、繼承的工作機制

1、方法排程

當呼叫乙個當前類中不存在的方法時,

objective-c

將在其超類中查詢

2、例項變數

建立新類時,物件先從自身的超類中繼承例項變數,然後新增自己的例項變數

每個方法呼叫都能獲得乙個名為

self

的隱藏引數,他是乙個指向接收訊息的物件指標,方法使用

self

引數查詢他們要使用的例項變數

self

引數指向繼承鏈中第乙個類的第乙個例項變數即

nsobject

物件的isa

變數,isa

變數儲存乙個指標,指向物件的類

四、重寫方法

有時要替換或者增強由超類所定義的現有方法,成為重寫 1

、super

關鍵字[super

setfillcolor : color]

呼叫超類中的

setfillcolor

方法

第四章 繼承

1 繼承的型別 2 c 是否支援多重繼承?開發c 的重要目標是簡化健壯 的編寫工作,因此,不支援多重繼承,c 允許型別派生自多個介面 多重介面繼承 3 繼承的語法結構 宣告派生自另乙個類 class myclass mybaseclass類派生於介面,則用逗號分隔介面 class myclass i...

第四章 物件

三個特性 身份 型別 值 每個物件都有唯一的身份來標識自己,使用內建函式id 得到。例子 usr bin env python coding utf 8 a 32 print a b a print id a id b 結果 d python27 python.exe e workp python ...

第四章 其他

sizeof和strlen 區別sizeof以位元組為單位給出資料的大小,strlen 函式以字元為單位給出字串的長度。使用strlen 函式要加 include標頭檔案。sizeof計算字元時會將標誌字串結束的不可見的空字元計算在內。定義符號常量 方法一 define name value 優點 ...