1. 類是來描述一群具有相同特征和行為的事物的.
類還有行為.
類的聲明
@interface 類名 : NSObject
{
屬性.
}
方法的聲明
@end
類的實現.
@implementation 類名
方法的實現
@end
前面只描述了這個類所擁有的共同的特征.使用屬性來描述.
類還有行為.
行為在類中用方法來表示. 和函數特別像.
在類中創建方法來代表類的行為,分兩個步驟
1). 方法的聲明
寫在@interface的大括弧的外面.
2). 方法的實現.
寫在@implementation中.
2. 無參數的方法的聲明.
1). 位置:@interface的大括弧的外面.
2). 聲明的語法:
- (返回值類型)方法名稱;
- (void)run;
3). 方法實現.
將方法頭拷貝到@implemetation中 刪除分號.補大括弧.
將方法的實現寫在大括弧之中.
- (void)run
{
代碼實現.
}
4). 如何調用
類中的方法不能直接調用.因為類不能直接使用.
如果非要用的話,就得創建這個類的對象.
對象中有類所定義的所有的東西,包括屬性和方法.
這個時候,就要可以調用對象中的方法.
調用格式:
[對象名 方法名];
3. 帶1個參數的方法的聲明
1). 位置:@interface的大括弧的外面.
2). 聲明的語法:
- (返回值類型)方法名:(參數類型)形參名稱;
- (void)eat:(NSString *)foodName;
3). 實現.
將方法頭拷貝到@implemetation中 刪除分號.補大括弧.
將方法的實現寫在大括弧之中.
在方法實現中可以直接使用參數的值.
4). 調用
類中的方法不能直接調用.因為類不能直接使用.
如果非要用的話,就得創建這個類的對象.
對象中有類所定義的所有的東西,包括屬性和方法.
這個時候,就要可以調用對象中的方法.
調用帶1個參數的方法:
[對象名 方法名:實參];
4. 帶多個參數的方法的聲明
1). 位置:@interface的大括弧的外面.
2). 聲明語法格式:
- (返回值類型)方法名:(形參類型)形參名1 :(形參類型)形參名2 :(形參類型)形參名3;
- (int)sum:(int)num1 :(int)num2;
3). 實現
將方法頭拷貝到@implemetation中 刪除分號.補大括弧.
將方法的實現寫在大括弧之中.
在方法實現中可以直接使用參數的值.
4). 調用
類中的方法不能直接調用.因為類不能直接使用.
如果非要用的話,就得創建這個類的對象.
對象中有類所定義的所有的東西,包括屬性和方法.
這個時候,就要可以調用對象中的方法.
調用帶多個參數的方法:
[對象名 方法名:實參1 :實參2 :實參3];
5. 使用注意.
1). 關於方法的名稱
- (void)run; 這個方法的名稱叫做run
- (void)eat:(NSString *)foodName; 這個方法的名稱叫做eat:
- (int)sum:(int)num1 :(int)num2; 這個方法的名稱叫做 sum: :
如果方法沒有參數,那么這個方法的名字就是這個方法的名字.
如果方法有參數,那么方法的名字帶了冒號的.
2). 帶參數的方法的命名規范.
a. 如果我們的方法只有1個參數. 建議這個方法的名字.
xxxWith:
這么做的的話.那么在調用方法的時候,整個看起來就像是1條完整的語句.
xxxWithxxx:
b. 如果方法有多個參數.建議這個方法的名字.
xxxWith:(參數類型)實參名稱 and:(參數類型)實參名稱;
建議:
xxxWith參數1: and參數2: and參數3:
c. 最重要的是讓在調用方法的時候,可以看起來是1條完整的語句.
d. 注意.關於方法名稱
- (void)eat:(NSString *)foodName; eat:
- (void)eatWith:(NSString *)foodName; eatWith:
- (void)eatWithFood:(NSString *)foodName; eatWithFood:
- (int)sum:(int)num1 :(int)num2; sum: :
- (int)sumWith:(int)num1 and:(int)num2; sumWith: and:
- (int)sumWithNum1:(int)num1 andNum2:(int)num2; sumWithNum1: andNum2: