1.objective-c建立在c語言之上,他是在c語言基礎上新增擴充套件而來能夠建立和操作物件的一門心的設計語言。
2.objective-c是ansi-c的超集,可以混編c和c++**。
3.可以在現存c編譯器基礎上實現,不需要編寫全新的編譯器。在mac系統上編寫objective-c一般都使用xcode編譯器。
4.不支援命名空間機制。一般都是在類別名稱加字首。在cocoa程式設計環境中,所有mac os x類別和函式均有「ns」作為字首,例如:nsstring、nsobject等等。
5.不支援運算子過載。只支援單繼承,不允許多重繼承。
6.物件導向最大的特色是訊息傳遞模型,物件不呼叫方法,而是互相傳遞訊息。
7.不支援內聯函式。
類定義 一般寫在.h檔案中 類實現寫在.m檔案中,例如:
person.h
#import@inte***ce person:nsobject
@property(noatomic,retain) nsstring* name;
-(void)setage:(int)value;
-(void)printinfo;
@end
person.m
#import"person.h"
@implementation person
@synthesize name;
-(int)age
-(void)setage:(int)value
-(void)printinfo
@end
main函式中測試**:
person *person = [[person alloc] init];
[person setname:@"marry"];
[person setage:32];
[person release];
在objective-c中一對中括號代表訊息傳遞,例如person是訊息接收者,setname是訊息函式。 這裡
@property(noatomic,retain) nsstring* name;
是屬性的宣告 對應在.m檔案中 @synthesize name;
如此,則系統自動生成set和get方法。當然,如果自己定義了set和get,則訊息傳遞時呼叫使用者定義的set和get,不呼叫系統的。
objective-c新增資料型別:bool
typedef char bool;
#define yes 1
#define no 0
nil和nil和null
nil 內建型別的指標,物件賦空值
nil類物件的空值
null空值0
Objective C進化特性
toc 毫無疑問,objective c 下稱objc 在誕生三十年後,因為ios系統在移動裝置領域的制霸,迎來了近五年來一年一波的進化,這些新特性表明objc這個年事已高的語言,仍在一步一步追逐現代程式語言的步伐。自動引用計數技術,簡稱arc,是objective c的一項重要進化。編譯器在編譯過...
深入Objective C的動態特性
目錄 動態語言基礎 深入執行時 objective c有相當多的動態特性,基本上也是最常用的有動態型別 dynamic typing 動態繫結 dynamic binding 和動態載入 dynamic loading 這些都是在cocoa程式開發中非常常用的語言特性,在此之後oc底層也提供了相當豐...
Objective C中的屬性特性
assign 用於基本資料型別,直接賦值。也可以用於物件,只不過當setter方法賦值時,只是簡單儲存位址,不會造成引用計數的改變,可以解決迴圈引用問題。retain 用於物件型別,當賦值時,先將舊值釋放,對新值retain引用計數加1 copy 用於物件型別,根據實現的nscopying協議的co...