黑馬程式設計師 Object C 物件的特性

2021-06-25 23:47:04 字數 1555 閱讀 1768

特性(property)是object-c 中組合了新的預編譯指令和新的屬性的訪問器語法。新的特性功能顯著減少了必須編寫的冗長**的數量。

//老**

@inte***ce allweatherradial:tirl

-(void ) setrainhandling:(float )rainhandling;

-(float )rainhandling;

-(void ) setsnowhandling:(float )rainhandling;

-(float )snowhandling;
@end

//改為特性風格的**

#import

#import tirl;

@inte***ce allweatherradial:tirl

@property float rainhandling;//表明allweatherradial類的物件具有float型別的屬性,其名稱為rainhandling.

@property float snowhandling;

@end

@property預編譯指令的作用是自動宣告屬性的setter和getter方法。

還有其他的特性,如:

@synthesize 也是一種新的編譯器功能,表示「建立該屬性的訪問器」。檔遇到**@synthesize rainhandling;編譯器將輸出-setrainhandling:和-rainhandling 方法的已編譯的**。

預設情況下,特性可修改:既可讀入也可以寫入。使用特性的readwrite屬性,如:

@property  (readwrite ,copy) nsstring *name;//可明確表達自己的意圖,通常不需要
@property  (readwrite ,copy) engine  *engine;

也可以是唯讀屬性:

@property (readonly) float shoesize ;//唯讀屬性,則編譯器只為該屬性生成乙個getter方法。

注意:特性不支援那些需要接受額外引數的方法。

黑馬程式設計師 Object C 類別

類別是一種為現有的類新增新方法的方法。宣告類別 類別的宣告格式和類的宣告格式相似 inte ce nsstring numberconvenice 類別的名稱是numberconvenience,該類別將向nsstring類中新增方法 nsstring lengthasnumber end 宣告具有...

黑馬程式設計師 Object C之迴圈引用

asp.net unity開發 net培訓 期待與您交流!關於迴圈引用的解決方法 兩端迴圈引用解決方案 1 一端用retain 2 一端用assign 首先定義兩個類 card person,其中card中又person的屬性,person中又card得屬性。1 card的宣告 class pers...

黑馬程式設計師 Object C基礎 九 記憶體管理

管理範圍 任何繼承了 nsobject 的物件,對其他基本資料型別 int char float double struct enum等 無效 只要你呼叫了retain,無論這個物件是如何生成的,你都要呼叫release void setbook book book void dealloc 使用場...