oc方法的簽名:
方法簽名由多部分組成,每一部分簽名都說明引數含義,所以方法的簽名具有自說明性,例如:
-
(void
)setname:
(nsstring*
)aname age:
(int
)aage
方法簽名為setname:age:
說明這個方法是用來設定姓名和年齡的,具有兩個引數
-
(void
)setname:
(nsstring*
)aname :
(int
)aage
方法不能過載
在同乙個類的方法不能過載,即方法的簽名不能完全一樣,但類方法和例項方法簽名可以相同。
-
(int
) g:
(int
) x;-(
int) g:
(float
) x;
//error:this mothod is not differernt from the previous one(no label)-(
int) g:
(int
) x:
(int
) y;
//ok,two anonymous labels-(
int) g:
(int
) x:
(float
) y;
//error:not different from the previous one-(
int) g:
(int
) x andy:
(int
)y;//ok:second label is "andy"-(
int) g:
(int
) x andy:
(float
) y;
//error:not difference from the previous one-(
int) g:
(int
) x andalsoy:
(int
)y;//ok:second label is "andalsoy",different from "andy"
類的定義#import
ns_assume_nonnull_begin
@inte***ce asstudent : nsobject
//"+"號為類方法,可以直接用類名來呼叫,作用是建立乙個例項+(
void
)print;
//"-"號為例項方法,類的例項才可以呼叫
-(nsstring*
)name;
-(nsstring*
)setname:
(nsstring*
)aname;-(
int)age;-(
void
)setage:
(int
)aage;
@end
ns_assume_nonnull_end
類的實現#import "asstudent.h"
@implementation asstudent-(
void
)setname:
(nsstring*
)aname
-(nsstring*
)name-(
int)age-(
void
)setage:
(int
)aage+(
void
)print
@end
這裡有兩個地方是需要注意的
例項方法可以直接引用類的例項變數和其他例項方法
類的方法都是public的,沒有protected和private方法,但是如果乙個方法只出現在類的視線裡,沒有出現在類的宣告裡,那麼這個方法可以認為是私有方法。
類的例項化
asstudent* student =
[[asstudent alloc] init]
; student->age =20;
[student setname:
@"tom"];
nslog
(@"%@"
,[student name]
);
OC語言 類方法的實現
類方法的實現 設計乙個 計算器 calculator 類 實現兩個數的 四則運算 思路 首先建立乙個類 類名 calculator 屬性 第乙個數num1,第二個數num2,運算結果result 行為 加 add,減 jian,乘 cheng 除 chu 建立好乙個target 按照oc多檔案開發的...
IOS之路 用oc實現類
用oc實現類 import 引入標頭檔案 inte ce fraction nsobject inte ce 用於描述類和類的方法 void print void setnumber int n void setsenumber int n end implementation fraction i...
OC學習筆記 OC中的類
1.objc跟c的區別與聯絡 首先 objc是乙個物件導向的語言 封裝 繼承 多型 objc相當於c的乙個超集 即objc允許使用任何c語言 但增加了許多c沒有的特點 bigger easier 2.objc中的類與物件 類由介面 xx.h inte ce 和實現 xx.m implementati...