------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
实例变量修饰符
/*
实例变量修饰符 (访问控制)
1> @public 共有的,公共的,在任何地方都可以被访问
2> @protected 受保护的,在当前类和他得子类(派生)中使用
3> @private 私有的,它修饰的实例变量,只能在当前类中使用
实例变量修饰符 (访问控制)的作用域
从定义的位置开始,向下遇到另外不同类型的修饰符就结束了
如果没有遇到其他类型的修饰符,此时到实例变量声明的"}"结束
*/
#import <Foundation/Foundation.h>
@interface Animal : NSObject
{
@public //可以在当前类和子类中使用以及其他任何地方都可以使用
int _age;
@protected //可以在当前类和子类中使用
int _speed;
@private //可以被子类继承,但是不能被子类访问
int _color;
}
-(void)eat;
-(void)run;
@end
@implementation Animal
-(void)eat{
NSLog(@"动物在吃");
}
-(void)run{
NSLog(@"动物在疯跑");
}
@end
@interface Dog : Animal
- (void)lookHome;
- (void)test;
- (void)testColor;
@end
@implementation Dog
- (void)lookHome
{
_age = 100;
NSLog(@" _age = %d",_age);
NSLog(@"看家");
}
- (void)test
{
_speed = 100;
NSLog(@"速度是%d",_speed);
}
- (void)testColor
{
// _color = 1;
// NSLog(@"颜色是%d",_color) _color被@private修饰,可以被继承,但是不可以访问
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Dog *d = [Dog new];
[d lookHome];
[d test];
}
return 0;
}