oc中的重写是怎样的呢?
子类继承了父类,然后重写父类的方法,父类里的方法没有被覆盖掉啊
//这是第一个类
@interface Person : NSObject
- (void)work;
@end
@inplementation Person
- (void)work
{
NSLog(@"工作");
}
//这是第二个类
@interface Student : Person
@end
@implementation Student
- (void)work
{
NSLog(@"该休息了");
}
@end
//main函数
int main()
{
Person *p = [[Person alloc] init];
[p work];//这一行打印出的是父类方法,是“工作”
Student *s = [[Student alloc] init];
[s work];//这一行打印出来的就是重写后的方法,是“该休息了”
[p work]//这一行打印出来还是父类的“工作“啊,没有被覆盖为”该休息了“,
//我就想问,[s work];这一行运行过后,父类里面的NSLog照样还是“工作”啊,并没有被覆盖为"该休息了'
}