一、為什麼要繼承
在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類
其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法
二、繼承語法
@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 優點 ...