OC中不仅属性和方法可以被继承,而且在某些访问修饰符的修饰下,成员变量也可以被继承。其中@public,@protected修饰的可以被继承。本次我们研究下保护类型的继承。本例子中父类是MyClass,子类是MySubClass.
(1)在MyClass.h中声明一个保护类型的变量:
{
int _classInt;//没有加访问修饰符,默认是@protected,受保护的,类内可以访问,类外不能访问,但可以被继承;
}
(2)然后声明并实现一个report方法,来打印_classInt.
-(void)report{
_classInt = 100;
NSLog(@"ClassInt = %d",_classInt);
}
(3)然后在main.m中分别用父类和子类的对象调用report方法,打印出_classInt.
//父类
MyClass *myClass = [[MyClass alloc]init];
[myClass report];
//子类
MySubClass *mySubClass = [[MySubClass alloc]init];
[mySubClass report];