OC方法与函数的区别
1.OC方法只能声明在@interface和@end之间,只能实现在@implementation和@end之间。
也就是说OC方法不能独立于类存在。
2.C函数不属于类,跟类没有联系,C函数只归定义函数的文件所有。
3.对象方法都是以减号-开头
4.对象方法的声明必须写在@interface和@end之间。
5.对象方法的实现必须写在@implementation和@end之间。
6.对象方法只能由对象来调用。
7.函数能写在文件中的任意位置,函数归文件所有。函数不能放在@interface和@end之间(不能放在声明里面)
8.对象方法归类、对象所有。
9.函数调用不依赖于对象。
10.函数内部不能直接通过成员变量名访问某个对象的成员变量。
int main()
{
run(); // 对象方法只能由对象调用。这是调用函数的写法。
return 0;
}
@implementation Car
// 文件的任何位置都可以写函数。
void test()
{}
void test1() // 错误写法,函数不属于类,因此不可以访问对象内部的成员变量。
{
NSLog (@"%d", wheels);
}
@end
/*
方法的声明只能在@interface和@end之间。
- (void)test; // 语法错误!
*/
/*
方法只能定义(实现)在@implementation和@end之间。
- (void)test // 语法错误!
{}
*/