天天看点

OC语言-类方法

一、类方法格式

+ (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方法
}