【Objective-C】08-OC对象的super关键字

来源:互联网 发布:4年大数据 工资多少 编辑:程序博客网 时间:2024/05/22 10:42

OC对象中的关键字super是用来直接调用父类中的某个方法用的。一般用来子类重写父类的方法时,想要保留父类的一些行为,减少代码重复,所以就用super关键字来调用父类现成方法。使用super要注意的关键点是:super所处的位置决定了子类要调用父类的哪个方法。当super处在对象方法中时,调用的是父类同名的对象方法;当super处在类方法中时,调用的是父类同名的类方法。


#import <Foundation/Foundation.h>//僵尸@interface Zoombie:NSObject//对象方法:打印往前挪两步*******- (void)walk;//类方法:打印类名+test+ (void)test;//对象方法:打印类名-test- (void)test;@end@implementation Zoombie- (void)walk{    NSLog(@"往前挪两步*******");}+ (void)test{    NSLog(@"Zoombie+test");}- (void)test{    NSLog(@"Zoombie-test");}@end@interface JumpZoombie : Zoombie+ (void)haha;- (void)haha2;@end@implementation JumpZoombie+ (void)haha{    //调用父类的test方法,因为是类方法中,所以调用的是类方法test    [super test];}- (void)haha2{    //调用父类的test方法,因为是对象方法中,所以调用的是对象方法test    [super test];}- (void)walk{    NSLog(@"跳两下");    //调用父类的walk方法,因为是对象方法中,所以调用的是父类的对象方法walk    [super walk];}@endint main(){    JumpZoombie *jz=[JumpZoombie new];    //调用对象方法haha2    [jz haha2];    //调用类方法haha    [JumpZoombie haha];}


1 0
原创粉丝点击