美文网首页
如何在父类中调用子类的方法

如何在父类中调用子类的方法

作者: Colin_狂奔的蚂蚁 | 来源:发表于2018-06-23 13:20 被阅读48次

如何在父类中调用子类的方法

测试代码:

#import "ViewController.h"
#import "SubClass.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    BaseClass *sub = [[SubClass alloc] init];
    [sub baseFun];
}

@end

BaseClass文件:

#import <Foundation/Foundation.h>

@interface BaseClass : NSObject

- (void)baseFun;

@end


#import "BaseClass.h"
#import <objc/message.h>

@implementation BaseClass

- (void)baseFun {
    //  1、使用runtime进行消息发送
    objc_msgSend(self, @selector(subFun));

    //  2、在父类中将方法写出来,只是为了能编译通过,最终调用的时候还是会调用子类的subFun方法
    [self subFun];
}

- (void)subFun{}

@end

BaseClass文件:

#import "BaseClass.h"

@interface SubClass : BaseClass

@end


#import "SubClass.h"

@implementation SubClass

- (void)subFun {
    NSLog(@"子类SubClass被调用了");
}

@end

相关文章

  • 如何在父类中调用子类的方法

    如何在父类中调用子类的方法 测试代码: BaseClass文件: BaseClass文件:

  • iOS 小知识点总结

    子类实现父类方法时,监测子类是否调用super方法。 在父类中声明方法时: 子类中实现该父类方法: 图片压缩

  • python 面向对象: super()

    python 关于 super 的使用 子类对象调用父类方法 :super(B,b).hh() 子类中调用父类方法...

  • PHP 方法重载的注意事项

    先给出个简答的例子: 注意在子类中实例中调用父类的方法,如果父类方法中包含子类重载后的方法时,会优先调用子类方法。...

  • 继承类的容易出错的基础题

    结论:子类继承父类,调用方法时先是调用子类中的方法,如果没有就调用父类中的方法,还有一点就是try{ }、catc...

  • python继承二(实例)

    父类 子类一 采用父类名.方法的方式调用父类中的初始化函数" 子类二 " 使用super(子类名,self).方法...

  • JavaScript零散知识点

    继承 super 在子类中调用super,会调用父类的方法; 不用super,则会覆盖父类的方法。调用本类中的方法。

  • python学习笔记-day020

    1.通过对象调用类中的方法 2.子类调用父类中的方法 3.初识继承 子类以及子类实例化的对象 可以访问父类的任何方...

  • 第十五天学习Java(面向对象的多态性)

    2.1子类对象的创建过程 实例化子类对象的过程 调用子类的构造方法中,先调用了父类的构造方法,默认调用的父类的无参...

  • Super

    编译器的指令符号如果想在子类调用父类的方法使用Super在类方法中调用父类的类方法在对象方法调用父类的对象方法可以...

网友评论

      本文标题:如何在父类中调用子类的方法

      本文链接:https://www.haomeiwen.com/subject/czbryftx.html