A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© itheimaXYP 中级黑马   /  2014-8-17 17:05  /  1100 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马