OC簡單語法複習 總結

2021-06-22 02:18:37 字數 1793 閱讀 5146

定義類

oc中描述類需要2個檔案。

類名.h   標頭檔案(定義變數,類名)

類名m實現 (實現方法)

.h中的格式

@inte***ce	類名:父類 //:為繼承表示。

// 此處定義方法宣告

@end

變數宣告

型別 變數名;

@private

只能在類內部訪問 

@protected

只能在類內部和子類中訪問(預設)

@public 全域性都可以訪問

@package(同乙個框架中可以訪問,不常用,可以忽略)

例如:

@private

int age_private;

int height_private;

@public

int age_public;

int height_public;

方法宣告

方法格式:

-/+ (返回型別)方法名:(引數型別1)引數名1:方法名:(引數型別2)引數名2。。。; // (冒號結束)

例如:

-(void)setage:(int)newage; // 動態方法 返回void 方法名:setage: 引數型別 int 引數名 newage

- (void)setage:(int)newage andheight:(float)newheight;// 動態方法 返回void 方法名:setage:andheight :引數型別1 int 引數名1 newage 引數型別2 int 引數名2 newheight

-(int)height;// 動態方法 返回int 方法名height 無引數。

一定要記住:乙個冒號:對應乙個引數,而且冒號:也是方法名的一部分

建構函式宣告;

例如;

-(id)initwithage:(int)age andheight:(int)height;

一般返回值是id 意思為能返回任何型別。id中已經包含了指標表示*,所以不用再加*來定義 

其實不以init開頭也可以,其他符合方法名規範的名字都行,不過。根據oc中的建構函式定義規範,一般都以init開頭。

.m 方法的實現。

關鍵字

@implementation  類名 // 此處可以不跟父類。因為已經在.h中宣告了。

//方法實現,如果在.m檔案中,只有方法實現,而沒有在.h中定義,則是私有方法。

/* @implementation中實現方法。

可以使用.h中定義的_age變數是因為匯入了student.h標頭檔案

*/@end

方法格式:(類似.h中的定義,不過去掉;要有{}定義方法體)

-/+ (返回型別)方法名:(引數型別1)引數名1:方法名:(引數型別2)引數名2。。。

注意事項:在set方法中千萬不要使用self.變數。

例如:

-(void)setage:(int)newage

實現構造方法:(模版)

-(id)initwithage:(int)age andheight:(int)hegith

return self;

}

常用:.m中重寫父類的description方法,實現自定義格式化物件的輸出

self 在物件方法中,代表,物件。在類方法中代表類:

OC新語法總結

1.方法與順序無關 2.列舉繫結資料型別 enum typedef nsuinteger language 3.屬性不用寫 synthesize 4.語法簡化 4.1 nsnumber nsnumber value value 12345 value 123.45f value 123.45 val...

語法基礎 簡單的oc程式

作為菜鳥不知道從 找到的一些資料先寫下,先介紹一些oc語言的一些特點。1 在c語言的基礎上,增加了一層最小的物件導向語法 2 完全相容c語言 3 可以在oc 中混入c語言 甚至是c 4 可以使用oc開發mac os x平台和ios平台的應用程式 首先,要執行乙個oc程式必須經過原始檔經過編譯成目標檔...

OC中語法糖,最新語法總結

1.方法與順序無關 2.列舉繫結資料型別 enum typedef nsuinteger language 3.屬性不用寫 synthesize 4.語法簡化 4.1 nsnumber nsnumber value value 12345 value 123.45f value 123.45 val...