iOS多继承

想到面试的时候
被问到了一个东西 :多继承
好吧 我还真的是 没有怎么注意过这些 或者是时间长了 没有理解过

现在我仔细查查看

iOS的多继承

要求
C类要同时继承A类和B类
那开发本身是无法实现的

因此 我们使用
在C类中引入A,B 对象 来进行相关方法的执行

多继承可以允许子类从多个父类派生,而Objective-C并不支持多继承,但我们仍可间接实现。
通过协议、分类、消息转发来实现

通过协议实现
// 编程技能
@protocol Program

  • (void)program;
    @end
    // 绘画技能
    @protocol Draw
  • (void)draw;
    @end
    // 歌唱技能
    @protocol Sing
  • (void)sing;
    @end

// 原本一个什么也不会的程序员
// 学会了多个技能
@interface Programmer : NSObject
// 继承的协议方法自动公有,无须声明接口
@end

@interface Programmer ()
// 继承的协议方法自动私有,无须声明接口
@end

// 需要自行实现协议方法
@implementation Programmer

  • (void)program {
    NSLog(@"I'm writing bugs!");
    }
  • (void)draw {
    NSLog(@"I can draw");
    }
  • (void)sing {
    NSLog(@"Lalalallalalala");
    }
    @end

这样就是方法的继承了 使用协议实现

其他的实现方法有空补上

你可能感兴趣的:(iOS多继承)