子类不能定义与父类同名的成员变量
子类可以重写父类的成员方法(覆盖父类的实现)
@interface Car : NSObject
- (void) run;
@end
@implementation Car
- (void) run
{
NSLog(@"Car run");
}
@end
@interface BMW : Car
@end
@implementation BMW
- (void) run
{
//覆盖父类的实现
NSLog(@"BMW run");
}
@end
- 可以用super指针调用父类的实现
@implementation BMW
- (void) run
{
NSLog(@"BMW run");
//调用父类的实现
[super run];
}
@end
- super指针在子类的类方法(+号开头的方法)中可以调用父类的类方法
super指针所调用的方法是类方法还是对象方法,取决于super所在的调用环境。