天天看点

Objective-c 访问控制

在Objective-c中定义类时,也可以使用类似于C++中public、private来修饰成员变量,如下:

[cpp] view plaincopy

@intterface Test:NSObject{  

@public  

int i;  

int j;  

@protected  

float m;  

float n;  

@private  

double x;  

double y;  

}  

@protected: 用此指令修饰的实例变量可以被该类和任何子类定的方法直接访问,这是默认情况。

@private:用此指令修饰的实例变量可以被定义在该类的方法直接访问,但是不能被子类中定义的方法直接访问。

@public:用此指令修饰的实例变量可以被该类中的方法直接访问,也可以被其它类定义的方法直接访问。

注意,在实际使用中,我们不能直接访问@private权限的属性,但是测试程序是可以正确执行,只是Xcode会给出警告。

继续阅读