黑马程序员技术交流社区
标题:
OC中的类方法与对象方法
[打印本页]
作者:
itheimaXYP
时间:
2014-8-17 17:05
标题:
OC中的类方法与对象方法
本帖最后由 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
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2