OC中方法與函式的區別
阿新 • • 發佈:2019-02-04
方法:方法是Objective-C獨有的一種結構,只能在Objective-C中宣告、定義和使用,C語言不能宣告、定義和使用。
1、類方法以+號開頭,物件方法以-號開頭
+ (void) init; // 類方法
- (void) show; // 物件方法
2、在@interface和@end之間宣告,在@implementation和@end之間定義
@interface Test : NSObject
// 方法宣告
+ (void) init;
- (void) show;
@end
@implementation Test
// 方法實現
+ (void) init
{
}
- (void) show
{
}
@end
3、類方法只能由類來呼叫,物件方法只能由方法來呼叫
// 呼叫類方法
[Test init];
// 呼叫物件方法
Test *t = [Test new];
[t show];
4、方法歸類、物件所有。
5、方法宣告和實現中用到的資料型別必須用()括住。
函式:函式即C語言中的函式,在C和Objective-C中都宣告、定義和使用。
1、函式能寫在檔案中的任意位置(@interface和@end之間除外),函式歸檔案所有。
int add(int num1, int num2)
{
return num1 + num2;
}
2、函式呼叫不依賴於物件。
int sum = add(1, 2);
3、函式內部不能直接通過成員變數名訪問某個物件的成員變數。
1、類方法以+號開頭,物件方法以-號開頭
+ (void) init; // 類方法
- (void) show; // 物件方法
2、在@interface和@end之間宣告,在@implementation和@end之間定義
@interface Test : NSObject
// 方法宣告
+ (void) init;
- (void) show;
@end
@implementation Test
// 方法實現
+ (void) init
{
}
- (void) show
{
}
@end
3、類方法只能由類來呼叫,物件方法只能由方法來呼叫
// 呼叫類方法
[Test init];
// 呼叫物件方法
Test *t = [Test new];
[t show];
4、方法歸類、物件所有。
5、方法宣告和實現中用到的資料型別必須用()括住。
函式:函式即C語言中的函式,在C和Objective-C中都宣告、定義和使用。
1、函式能寫在檔案中的任意位置(@interface和@end之間除外),函式歸檔案所有。
int add(int num1, int num2)
{
return num1 + num2;
}
2、函式呼叫不依賴於物件。
int sum = add(1, 2);
3、函式內部不能直接通過成員變數名訪問某個物件的成員變數。