OC是面向对象的语言,而且是基于C语言之上的,兼容C语言,所以OC中有函数与方法。而函数和方法,各有个的不同用法,函数和方法的写法也有差异。那么下面就区分一下函数和方法的不同写法。
函数:
void fun(void){
printf("这是函数的形式");
}
上面是最简单的函数格式:
void 是函数的类型,返回值为空.如果是int fun();函数的话,返回值就是整型数据,需要在函数体内return一 个整型数据。
fun为函数的函数名。
(void)括号里的void是函数的参数类型,void就是参数为空,没有参数。
OC语言中的方法。方法分两种,一种是对象方法,一种是类方法。
一、对象方法
对象方法只能由对象来调用。对象方法前需要加 - 号,来表示这是一对象方法,对象方法有有参和无参两种。
示例:
<span style="white-space:pre"> </span>@interface Lei
<span style="white-space:pre"> </span>-(void)fun:(NSString)str;
<span style="white-space:pre"> </span>-(void)fun;
@end
@implementation Lei
//1)有参的对象方法
-(void)fun:(NSString)str {
NSLog("这是无返回值的有参的对象方法");
}
//2)无参的对象方法
-(void)fun {
NSLog("这是无返回值的无参的对象方法");
}
@end
// 对象方法又称实例方法,其调用方法为:
NSString string = [[NSString alloc] init];
[string fun:str]; //调用有参的对象方法
[string fun]; //调用无参的对象方法
二、类方法
类方法只能由类本身来调用。类方法前需要加 + 号, 来表示这是一个类方法,类方法也有有参和无参两种。
//1)有参的类方法
@interface NSlei
+(void)fun:(NSString)str;
+(void)fun;
@end
@implementation Lei
+(void)fun:(NSString)str {
NSLog("这是无返回值的有参的类方法");
}
// 2)无参的类方法
+(void)fun {
NSLog("这是无返回值的无参的类方法");
}
@end
[NSlei fun:str]; //这是NSlei这个类调用的有参类方法
[NSlei fun]; //这是NSlei这个类调用的无参类方法
总结:在本文件中,函数是谁都可以调用的。而方法分为对象方法和类方法,对象方法只能由对象调用,类方法只能由类方法调用。对象方法只有本类中中的对象可以调用,类方法也同样是只有本类可以调用。