Objective - C基础: 第二天 - 11.继承的关键字Super
2015-01-19 00:27
281 查看
在前面, 我们学了继承的一些知识, 现在我们来学习继承的最后一个知识点, 也就是Super关键字, 在这之前, 我们就已经学过一个关键字self, 那么这次的Super又会怎么样呢? 让我们一起来看看~~~
例子:
#import <Foundation/Foundation.h>
@interface Person : NSObject
- (void)run;
@end
@implementation Person
- (void)run
{
NSLog(@"跑步");
}
@end
@interface Student : Person
- (void)eat;
@end
@implementation Student
- (void)eat
{
NSLog(@"吃东西");
}
@end
int main()
{
Student *stu = [Student new];
[stu eat];
return 0;
}
我们看到, 如果我们父类有一个run的方法, 而子类没有, 如果我们要去使用父类的方法, 得花一些时间, 比如重写父类的方法, 或者用其他方法去实现, 但有了Super这个关键之后, 我们就不用这么麻烦了, 比如:
@interface Student : Person
- (void)eat;
@end
@implementation Student
- (void)eat
{
[super run];
NSLog(@"吃东西");
}
@end
Super在这里就是去父类寻找是否有该方法, 如果有就会调用, 如果没有就会继续往上找, 直到找不到报错为止.
Super的作用
1.直接调用父类中的某个方法
2.Super处在对象方法中,那么就会调用父类的对象方法
Super处在类方法中,那么就会调用父类的类方法
3.使用场合: 子类重写父类的方法时想保留父类的一些行为
好了, 这次我们就讲到这里, 下次我们继续~~
例子:
#import <Foundation/Foundation.h>
@interface Person : NSObject
- (void)run;
@end
@implementation Person
- (void)run
{
NSLog(@"跑步");
}
@end
@interface Student : Person
- (void)eat;
@end
@implementation Student
- (void)eat
{
NSLog(@"吃东西");
}
@end
int main()
{
Student *stu = [Student new];
[stu eat];
return 0;
}
我们看到, 如果我们父类有一个run的方法, 而子类没有, 如果我们要去使用父类的方法, 得花一些时间, 比如重写父类的方法, 或者用其他方法去实现, 但有了Super这个关键之后, 我们就不用这么麻烦了, 比如:
@interface Student : Person
- (void)eat;
@end
@implementation Student
- (void)eat
{
[super run];
NSLog(@"吃东西");
}
@end
Super在这里就是去父类寻找是否有该方法, 如果有就会调用, 如果没有就会继续往上找, 直到找不到报错为止.
Super的作用
1.直接调用父类中的某个方法
2.Super处在对象方法中,那么就会调用父类的对象方法
Super处在类方法中,那么就会调用父类的类方法
3.使用场合: 子类重写父类的方法时想保留父类的一些行为
好了, 这次我们就讲到这里, 下次我们继续~~
相关文章推荐
- Objective-C(三、类与继承,基类,self、super关键字,多态,组合)——iOS开发基础
- java基础11 继承(super、extends关键字和重写,这三个要素出现的前提:必须存在继承关系)
- Objective - C基础: 第二天 - 10.继承的使用场合和组合使用
- JAVA基础再回首(六)——父与子的继承、super关键字、方法重写、方法重载
- Objective-C基础学习笔记(四)-面向对象的三大特性之继承-self关键字
- Objective - C基础: 第二天 - 6.关键字self的基本认识
- java基础总结11-面向对象7(super关键字)
- Objective - C基础: 第二天 - 8.继承的初体验
- 夯实基础——继承、super和final关键字
- 【Java基础知识】继承体系中的成员关系,this,super关键字的使用,数据初始化
- oc基础-继承和super关键字
- Objective - C基础: 第二天 - 9.继承的使用注意
- Java基础进阶_day02_(类的组合,继承,this与super关键字)
- 再学 iava基础(4)重载,重写,super,this,final关键字。
- java学习笔记-继承中super关键字
- 继承;成员变量隐藏与重写;关键字super;final类和final方法
- 类的继承——方法的重载,super关键字
- 【java继承中super关键字】
- 二十五、继承(八)关键字super 和 重写 dealloc这项措施
- IOS学习之二:Objective-C基础语法和关键字