前面我們在編寫的時候用到了set方法和get方法。在object-c2.0中引入了特性(property)。
在標頭檔案中修改,用到關鍵字@property 可以看如下**:
@property
float rainhandling;
@property
float snowhandling;
//-(void) setrainhandling:(float) rainhandling;
//-(float) rainhandling;
////-(void) setsnowhandling:(float) snowhandling;
//-(float) snowhandling;
將set和get方法用@property替代。
實現它們的方法如下用到關鍵字如下@synthesize
@synthesize rainhandling;
@synthesize snowhandling;
//-(void) setrainhandling:(float)rh
////-(float) rainhandling
////-(void) setsnowhandling:(float)sh
////-(float) snowhandling
// 這樣對比起來我們減少了不少**,但是我們的功能仍然實現。
該技術也適用於int ,char , bool , struct 型別。甚至可以去定義乙個類。
@inte***cecar :
nsobject
@property(copy)
nsstring
*name;
@property(retain)
engine
*engine;
實現的如下:
@synthesizename;
@synthesizeengine;
還可以設定特性的讀寫屬性。
預設情況下特性時可讀寫的。readwrite屬性。
@property (readwrite ,copy) nsstring *name;
也可設定為唯讀屬性
@property (readonly) nsstring *licensenumber;
我們也注意到特性也不是萬能的在car類中。我們就沒有tire使用特性。
特性只能替代set和get方法。但是不支援那些需要接受額外引數的方法。
點表示式的妙用。
// [tire setrainhandling:20+i];
// [tire setsnowhandling:28+i];
tire.rainhandling=20+i;
tire.snowhandling=28+i;
如果點表示式在等號的左邊,表示該屬性名稱的set方法。反之,在等號的右邊,表示該屬性名稱的get方法。
Object C中的特性 property
簡介 property組合了新的預編譯指令和新的屬性訪問器語法。1 property 表示宣告了物件的乙個屬性。例如 property float smshandling 表示某個類的物件具有了乙個float型別的名為smshandling的屬性。property自動生成了 setsmshandli...
Object c基礎程式設計學習筆記 集合
1 nsarray 首先,nsarray有兩個限制 1 首先,它只能儲存oc物件,並不能儲存c語言的資料型別 2 其次,不可以儲存nil,因為nsarray中nil代表結束,但是如果我們想要新增乙個空,那麼應該使用nsnull unsigned count 這裡可以知道包涵物件的個數 id obje...
ios學習筆記之Object C 集合
obejct c中包含了三種集合,分別是 陣列 字典和集 set 陣列和c語言中的陣列相似,但是oc中的陣列只能儲存物件,不能儲存基本資料型別,如int float enum struct等,也不能儲存nil。它也提供了編制好的索引物件,可以通過制定索引找到要檢視的物件。包含可變陣列 nsmutab...