OC類

實例變量的可見度                                          
public(公有的)
實例變量可以在全局範圍內被任意操作
protected(受保護的,默認的)
實例變量只能在本類和其子類內操作
private(私有的)

實例變量只能在本類中操作


 方法分類:
OC中的方法分兩種:類方法和實例方法。
類方法:只能類使用,例如: +(id)alloc 注:類方法中不能使用實例變量

原因 (1), 一個類中有多個實例變量

(2), 一個類中可能還沒有定義實例變量   類是空的
實例方法“只能對象使用。例如:- (void)sayHi
方法名怎麼找?
刪除:類型標識,返回類型,參數類型,參數名,空格。 例如:
replaceObjectAtIndex:withObject:
類中不能出現同名方法。
“:”標識參數,不能省略。有冒號必須有參數。
在oc中沒有person調用sayHi這種表述
在oc中使用消息發送機制 :[接受者 消息]
正確表述 :給person對象發送sayHi消息
①person接收到消息。即方法sayHi
②person找到sayHi方法,並執行。
當一個類中定義的實例變量的可見度爲protected或者private時,這些實例變量無法通過實例對象名加指向操作符再加實例變量名的形式直接訪問,這個時候可以爲該類定義賦值煩方法和取值方法實現間接訪問。
- (void)setColor:(NSString *)color {    //當執行該方法時,color作爲形參,會拷貝實參的內容,並且將拷貝到的內容賦值給對應需要操作的實例變量。    _color = color; }
- (返回值類型)變量名:(參數類型)形參   沒有返回值時  用void  類型名都用小括號括起來 包括返回值類型 參數類型

變量名用set開頭 參數只有一個時   稱爲setter方法 或者設置器  -(參數類型) 形參 訪問形式  稱爲getter方法

實例變量“color”訪問類的方法。
#import
導入頭文件,即:導入頭文件中的內容到當前類
#import“”導入自定義類    #import<>導入類庫中的頭文件。
功能類似C語言中的#include,但是可以避免頭文件被重複導入。
容易出現循環導入的問題。
@class
告訴編譯器@class 後的字符串作爲類名使用,並未導入類的接口內容。
有效避免嵌套循環導入。

但是不在.h中導入  則必須在.m文件中導入
實例變量有3種常⻅見的可⻅見度:@public、@protected、@private。
@public違背了封裝特性,⾯面向對象開發中很少使⽤用;@protected默 認可⻅見度,⾃自⼰己和⼦子類中能使⽤用—>訪問實例變量;@private⾃自⼰己類 中能使⽤用—>訪問實例變量。
方法是OC的核心,採⽤用消息機制:[receiver message]。 “-”message由對象來調⽤用;“+”message由類來調⽤用。

[對象名  方法名 ]
發佈了33 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章