1.控制例項變數作用域的指令
我們知道例項變數的作用域只限於為該類定義的例項方法。因此,任何例項方法都能通過變數名來訪問該類的例項變數,而無需進行特殊操作。
在介面中宣告的例項可通過子類進行繼承。繼承來的例項變數同樣可以通過變數名在該子類定義的方法中直接訪問。
在介面部分宣告例項變數時,可通過以下指令來控制其作用域:
@protected——這個指令後面的例項變數可被改類及任何子類中定義的方法直接訪問。在介面部分定義的例項變數預設是這種作用域。
@private——這個指令後面的例項變數可被定義在該類的方法直接訪問,但是不能被子類定義的方法直接訪問。在實現部分定義的例項變數預設是這種作用域。
@public——這個指令後面的例項變數可被該類中定義的方法直接訪問,也可被其它類或模組中定義的方法直接訪問。(不建議,違反封裝性)
顯性宣告事例**如下:
@inte***ce printer
2.關於屬性,訪問方法和例項變數
@synthesize指令:@synthesize window=_window;表明合成(synthesize)屬性window的取值(set)和設定方法(get),並將屬性與例項變數_window(例項變數並沒有顯性宣告)關聯起來。這對區別屬性和例項變數的使用是有幫助的,鼓勵通過設定方法來設定例項變數的值,通過取值方法來獲取例項變數。
[window makekeyandvisible];//無法執行window是屬性而非例項變數。
//可使用
[_window makekeyandvisible];
//最好使用獲取函式
[self.window makekeyandvisible];
Objective C例項變數
類變數的 protected private,public,package,property 宣告 各有什麼含義?public為公有的例項變數,在類的內部外部都可以進行操作.public違背了封裝特性,在物件導向中很少使用.proprety為受保護的例項變數,只可以在自己類和子類內進行操作.priv...
OBJECTIVE C語言基礎
1.oc語言的特點 objective c,通常寫作objc,oc和較少用的 objective c或obj c,是擴充c的物件導向程式設計語言。objective c是靜態的,強型別定義的語言。只允許單根繼承 cocoa中的根是nsobject 2.常量 程式執行過程中,值不能被改變的量稱為常量。...
Objective C列印BOOL型變數
有時候我們可能會定義乙個 bool b b yes nslog bool b b 然後執行程式就會崩潰,這是因為 列印的是乙個物件,bool是乙個資料型別。使用 要求對應的引數必須是乙個物件,並且還實現物件的description方法,這樣就可以列印出物件的內容了。nslog其實也就是呼叫該物件的d...