之前我们稍微讲过一些关于成员变量的作用域的知识, 今天我们来复习一下.
例子:
#import <Foundation/Foundation.h> @interface Person : NSObject { @public int _age; @private NSString *_name; @protected int _height; } @end
输出结果:
解释一下:
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected)
@package : 只要处在同一个框架中,就能直接访问对象的成员变量 (由于在现实开发中不常用, 所以在这里不解释)
PS:如果什么都不写, 那么默认就是@protected
补充:
@implementation一样可以声明成员变量
@interface和@implementation中不能声明同名的成员变量
OC中的继承是属于单继承, 一个子类只能对应一个父类.
好了, 这次我们就讲到这里, 下次我们继续~~~