美文网首页
多重继承

多重继承

作者: 0fbf551ff6fb | 来源:发表于2019-07-09 11:00 被阅读0次

多重继承无非就是 A类 同时继承与B类和C类   OC不支持直接继承  可以通过消息转发机制和代理实现

例如:有一个teacher类  和 一个Doctor类  现在需要tercher可以去做手术  这时老师只有继承了doctor才可以实现。

1.使用消息转发机制实现

在teacher类中直接调用手术的方法,teacher可能无法完成,这时会调用- (id)forwardingTargetForSelector:(SEL)aSelector方法,在此方法中让Doctor去做手术,间接完成了多重继承

- (id)forwardingTargetForSelector:(SEL)aSelector

{

    Doctor *doctor = [[Doctor alloc]init];

    if([doctorrespondsToSelector:aSelector]) {

        return doctor;

    }

    return nil;

}

2.使用代理实现

设置医生为老师的代理,这样也可以完成做手术的任务

相关文章

  • 慕课网-C++远征之继承篇(下)-学习笔记

    C++远征之继承篇(下) 多继承与多重继承 多重继承: 多继承: 如果不写,那么系统默认为private继承 多重...

  • Java中关于多重继承的问题

    多重继承的含义 一.用接口实现多重继承 二.用内部类实现多重继承

  • 4.0 C++远征:多继承和多重继承

    5-1多继承和多重继承 1.多重继承 线性继承两次及其以上为多重继承。 2.多继承 一个派生类同时有多个基类。

  • 面向对象

    类的定义方法 子类的定义 多重继承 python允许多重继承。

  • 接口,抽象类,内部类

    1.多重继承 Java 并不支持多重继承,多重继承是指一个类可以继承多个类,也就是一个类可以有多个直接父类。 抽象...

  • iOS面试120个基础知识点及面试题

    1.OC的类可以多重继承吗?可以实现多个接口吗?要想实现类似多重继承如何实现?答:OC不可以实现多重继承。可以实现...

  • Python多重继承(拓扑排序)(9)

    Python跟Java不同,Java只能单继承(不过有多实现),而Python能够多重继承。其多重继承遵循拓扑排序...

  • 多重继承

    采用多重继承首先,主要的类层次仍按照哺乳类和鸟类设计: 现在,我们要给动物再加上Runnable和Flyable的...

  • 多重继承

    多重继承: 子类(父类1,父类2...) 这样一个子类就能够同时拥有父类1和父类2的属性,这就是多重继承。 Mix...

  • 多重继承

    多重继承无非就是 A类 同时继承与B类和C类 OC不支持直接继承 可以通过消息转发机制和代理实现 例如:有一个t...

网友评论

      本文标题:多重继承

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