1、面向對象概述
比較項目 OC
基類 NSObject
單繼承 是單繼承
接口 支持接口(協議)@protocol
多繼承 使用接口來實現多繼承
多態 支持多態
抽象類 支持抽象類
異常處理 簡單的異常處理@try @catch @finally
虛函數 所有的函數都是虛函數
頭文件 #import
2、OC有別於C/C++的一些比較
1、BOOL YES NO
在oc中布爾類型是BOOL,布爾值是yes,no
2、id類型
O-C中每個目標都可以表達為id類型,可以認為是NSObject*或者是void*
3、nil
nil表示null,表示一個目標指針
3、類聲明放到.h文件里,類的實現放到.m文件里。
類的聲明:@interface @end
類的實現:@implementation @end
4、#import "xxxx.h"包含頭文件
5、創建/銷毀OC對象
創建對象
Dog *dog=[Dog alloc];
初始化構造函數
[dog init];
銷毀對象
[dog release];
6、字段定義
變量申明:@public @protected @private
O-C中變量必須定義在類{}之間的地方
O-C缺省是@protected
O-C里面的函數全是@public類型 沒有其他的類型(用另外的方式實現private化)
7、類的申明
O-C中類的申明必須帶*號,這里的*既表示指針也表示引用,例如:Dog *mydog;這里的*既表示真正的指針,也表示引用,可以通過mydog→dog或者mydog.dog這些方法來訪問。
8、函數調用對別
9、函數重載
O-C不是嚴格類型的函數重載
就是說O-C的函數重載前提是方法名相同,如果想重載必須有不同的標簽
10、Message消息機制
O-C用[object message]或者object.message來發送消息,所謂的消息就是我們在C語言當中所說的函數。
11、函數作用域的申明
oc在.h頭文件定義的所有函數都是public類型,如果想進行私有化可以有2種方法
1、直接將函數寫在.m文件中;
2、OC通過Categories來實現函數的 私有化;