本文為大地瓜原創,歡迎知識共享,轉載請注明出處。
雖然你不注明出處我也沒什么精力和你計較。
作者微信號:christgreenlaw
setter方法:
- 一定以set開頭, 并且set后面跟上需要設置的成員變量的名稱去掉下劃線, 并且首字母大寫
- 一定有參數, 參數類型一定和需要設置的成員變量的類型一致, 并且參數名稱就是成員變量的名稱去掉下劃線
- (void)setSize:(int)size;
getter方法:
- 一定有返回值, 而且返回值一定和獲取的成員變量的類型一致
- 一定沒有參數,方法名稱就是獲取的成員變量的名稱去掉下劃線
- (int)size;
點語法是編譯器特性,一般用于成員變量。也可用于訪問方法(不推薦如此做)。
不嚴謹的來講,self不僅僅可以代表對象,也可以代表類。
若self在對象方法中,self代表當前的對象。
若self在類方法中,self代表當前的類,可以調用類方法。
嚴謹的講,我們平時所接觸的類,其實也是對象,叫做類對象,是其所對應的類類型的對象。
self不可以用來在當前方法中調用本方法。(也就是不能構成遞歸)
實例變量修飾符
其實這個東西在現今開發中幾乎不用了。了解了解吧。
被修飾符修飾的變量,可否在其它類、本類、子類中訪問,關系如下表。
其它類 | 本類 | 子類 | |
---|---|---|---|
@public | 可訪問 | 可訪問 | 可訪問 |
@private | 不可訪問 | 可訪問 | 不可訪問 |
@protected | 不可訪問 | 可訪問 | 可訪問 |
注意: 默認情況下所有的實例變量都是protected
@package
- 如果是在其它包中訪問那么就是private的
- 如果是在當前代碼所在的包種訪問就是public的
實例變量修飾符作用域: 從出現的位置開始, 一直到下一個修飾符出現
如果沒有遇到下一個實例變量修飾符, 那么就會修飾后面所有的實例變量
給類發送class消息,將會返回該類的類對象
Class c = [Person class];
%@訪問對象,實際上是調用對象的-(NSString*)description方法。