一、类方法格式
+ (void) test;
+ (返回值类型) 类方法名;
类方法的书写格式与对象方法类似,只是开头要为+号
二、类方法的好处和使用场合
1.类方法不依赖于对象,执行效率高;
2.如果方法的实现不需要类的成员变量,则要尽量考虑用类方法,一般能使用类方法尽量使用类方法;
一般类方法比较适合一些只有方法没有成员变量的类,例如一些工具类(计算器类)
三、类方法的调用
[类名 类方法名]
[Person test];
四、类方法的使用注意:
类方法中不能访问成员变量
五、举例
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
@public
int _age;
}
- (void)test; //对象方法
+ (void)test; //类方法
@end
@implementation Person
- (void)test
{
[Person test];//调用的是类方法
_age = 20;
}
+ (void)test
{
//_age = 30;
Person *p = [Person new];
[p test]; //调用的是对象方法
NSLog(@"类方法中不能直接访问成员变量");
}
@end
int main()
{
Person *p = [Person new];
[p test]; //调用的是对象方法- (void)test
[Person test]; //调用的是+ (void)test方法
}