Object c學習筆記十二 特性

2021-05-28 09:06:24 字數 1452 閱讀 2467

前面我們在編寫的時候用到了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...