类的属性(实例变量)默认属性是@protect。属性是私有的,外界不能访问。虽然加上了@public后可以访问,但是存在数据安全隐患,可能造成误用。
在OC中提供了self关键字。
self的应用场景:
1.用在类方法中
2.用在对象方法中
3.访问成员变量
4.self在OC的内存管理中的特殊应用(暂时未学)
self在对象方法中使用,self指的是调用当前对象方法的对象。例如 [self run];
用NSLog(@"%p",slef);可以打印出调用当前对象方法的对象。
self在类方法中使用,self指代的是当前的类。
Person *p = [Person new]; //定义一个对象p
[p class]; //返回当前类
NSLog(@"%p",[p class]); //打印出p对象isa指针指向的类,和类方法中打印的self相同
self修饰变量
self->speed = speed;//如果不加self就是访问的局部变量,加上self就是访问的类的实例变量
self 使用总结:
1.不管是哪个对象或者类调用当前方法,self就代表的是调用该方法的对象或者类
2.self在对象方法中,self代表当前对象
3.self在类方法中,self代表当前类
格式:[self 方法名称];调用其他类/对象方法
注意:同时有对象方法和类方法存在时,self不会调错。
|
|