在objective-c中,定義乙個類,需要有兩部分: 第一是介面(inte***ce),第二是實現(implementation)。 介面對應介面檔案,而實現對應了實現檔案。 介面檔案包含了類的宣告,成員變數(member variable)和方法(method)。 介面檔案通常是.h實現檔案通常是.m檔案。 介面中所宣告的方法(method),需要在.m 檔案中,通過x
code 來實現這個方法(method)。
發現了乙個新的名詞: 成員變數(member variable)。 之所以感到新奇,因為之前 都管它叫 例項變數(instance variable)。 記得,初次接觸objective-c時,看到例項變數這一名詞,覺得很新奇。 也試圖把 例項變數 與 成員變數,做了一番對比,研究其不同之處。 從以下這個張圖, 可以斷定,我之前所看到的例項變數,本質上說,就是成員變數。 對於ios 初學者來說, 乙個新奇的名詞,很容易讓人產生太多的想法。
如果你之前接觸過c++, 對成員變數(member varialbe) ,肯定不陌生。 今天,你又看到了這個熟悉的叫法, 定會感到 objective-c 沒想象中的那麼難。
行文至此,耳邊又響起了那個廣告語 : 還是原來的配方,還是熟悉的味道。 呵:)
圖中的 」member variable declarations「 ,字面的意思: 」成員變數宣告「。 貌似 中所宣告的變數都為成員變數。 既然如此,例項變數又是什麼意思呢?
既然oc的表達方式是英文, 不妨從英文中查知原本的含義。
類:class
(description
/template
foran
object
)例項:
instance
(manifestation of a
class
)訊息:
message
(sent to
object
to make it act
)方法:
method
(code invoked
bya
message
)例項變數:
instance
variable
(object
-specific storage
)超類/子類:
superclass
/subclass
(inheritance
)協議:
protocol
(non
-class
-specific methods
)
從給出的英文說明,可以看出: 例項(instance) 是針對 類(class)而言的。 例項是指類的宣告; 由此推理, 例項變數(instance variable) 是指 由類宣告的物件。
嚴格說來, 上圖中的 int count; 是乙個成員變數。 而 nsstring * name; 是乙個例項變數。 至於 id data 應該屬於成員變數還是例項變數呢? 因為 id 是 oc特有的型別。從本質上講,id 等同於 (void *)。所以 id data 應屬於 例項變數。
成員變數(例項變數,類變數) 區域性變數 的區別
成員變數 包括例項變數和類變數 成員方法 包括例項方法和類方法 例項變數 非static關鍵字修飾的變數 類變數 靜態變數 static關鍵字修飾的變數 例項方法 非static關鍵字修飾的方法 類方法 靜態方法 static關鍵字修飾的方法 區域性變數 方法中定義的變數 靜態方法 類方法 只能訪問...
靜態成員變數與普通成員變數的區別
1.靜態成員變數是屬於整個類的全域性變數,它不單屬於某乙個物件 普通成員變數是屬於類中的物件,它不能被所有物件共享。如 class a int a n 0 void show cout 輸出 1a 2a 3a 4a 5a 該例沒有建立乙個物件,但是去可以通過類名和限定符訪問靜態變數n,並且對其進行自...
OC基礎 例項變數和成員變數的區別
摘要 objective c 引入了 例項變數 的概念,但同時,也經常出現 成員變數 的聲音。到底什麼是例項變數,什麼是成員變數,二者的區別是什麼呢?在objective c中,定義乙個類,需要有兩部分 第一是介面 inte ce 第二是實現 implementation 介面對應介面檔案,而實現對...