ios开发 oc 的类方法与对象方法
首先我们先来了解一下什么是类方法与对象方法。
对象方法:
对象是由“-”开头。比如:-(void)Runner;
对象方法顾名思义只能由对象来调用 比如说:
@interface Person : NSObject
-(void)Runner;//对象方法
@end;
int main()
{
Person *p=[Person new];//Person是一个类,它创建一个对象p。
[p Runner];//p调用Runner这个方法;
return 0;
{
在对象方法中可以直接访问我们当前对象的成员变量 比如:
@interface dog : NSObject
{
int _age;//成员变量
}
-(void)dogAge;
@end
@implementation dog
-(void)dogAge{
_age=20;//直接访问成员变量;
}
@end
对象方法介绍到这里 。。。。。。
类方法:
类方法是由“+”开头 比如:+(void)Runner;
只能由类来调用: 比如 :
@interface Person : NSObject
+(void)Runner;//对象方法
@end;
int main()
{
[Person Runner];
return 0;
{
类方法不需要使用成员变量;比如求2个数的和:
+ (int)sumN1:(int)n1 andN2:(int)n2;
类方法与对象方法同名:
通过上图可以看到虽然然方法名相同,但是一个是类方法一个是对象方法,也可以运行。
死循环:
@interface Person : NSObject
{
int age;
}
+ (void)test;
@end
//只要在mian方法中调用就是死循环
+ (void)test
{
[Person test];
}
类方法与对象方法可以相互调用: