本帖最后由 itheimaXYP 于 2014-8-18 18:34 编辑
类方法
1、类方法以+开头。
+ (void) show;
2、只能由类名或类对象来调用。
[Person show];
Class personClass = [Person class];
[personClass show];
3、类方法中不能访问成员变量(实例变量)。
类在加载的时候还没有对象,故没有实例变量,所以类方法不能访问成员变量。
对象方法
1、对象方法以-开头。
- (NSString *) name;
2、只能由对象来调用。
Person *p = ...;
NSString *name = [p name];
3、对象方法中能访问当前对象的成员变量(实例变量)。
- (void) setName:(NSString *) name
{
self->_name = name;
}
在一个类中对象方法和类方法可以重名
@interface Person : NSObject
+ (void) show;
- (void) show;
@end
@implementation Perosn
+ (void) show
{
NSLog(@"Person类方法");
}
- (void) show
{
NSLog(@"Person对象方法");
}
@end |