基本語法
一:
1.基類:NSObject
2.單繼承(和java同樣)
3.支持接口@protocol
4.使用接口實現多繼承
5.支持多態和抽象類
6.全部的函數都是虛函數java
二:類的定義函數
oc類分爲兩個文件,一個是.h一個是.m(放在一個文件裏也行)
.h 文件存放類,函數聲明
.m文件存放類的具體實現對象
類的聲明使用關鍵字@interface @end
類的實現使用關鍵字@implementation @end繼承
若是聲明和實現一個類的函數,須要用「+」或者「-」來用在函數的開始接口
+表示類的方法
-表示對象的方法開發
三:建立/銷燬oc對象
建立對象:
Dog *dog=[Dog alloc];get
初始化構造函數:
[dog init];編譯器
銷燬對象
[dog relaese];it
四:Messages消息機制
使用發送目標對象一個消息來達處處理函數
使用以下的格式來發送消息
[object message]或者object.message
object表示一個對象或一個類
message消息也能夠認爲是一個函數io
點語法(編譯器級別的)
dog.age=200就等價於[dog setAge:200];
int dogAge=dog.age;就等價於 int dogAge=[dog age];
@property是讓編譯器自動產生函數聲明
下面兩行代碼
-(void)serAge:(int)newAge;
-(int)age;
能夠用下面的代替
@property int age;
@synthesize就是編譯器自動實現getter和setter函數
-(void)setAge:(int)newAge{
age=newAge;
}
-(int)age{
return age;
}
就能夠用
@synthesize age;來代替啦
category
category能把一個類的實現分爲若干不一樣文件中。
每一個category是類的一部分
類的不一樣類別能夠單獨編譯(能夠讓不一樣開發者負責一個category)
若是把一個類category(聲明和實現)放到一個.m文件中,那麼該category外界不能訪問。category實際上就是對類的擴展。