OC 组合实现多继承
生活随笔
收集整理的這篇文章主要介紹了
OC 组合实现多继承
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OC無法完全先C++使用多繼承,但可以采用組合的模式來代替繼承模式。(協議實現)
實現多繼承的代碼:
舉例現在ClassC需要繼承ClassA中methodA、ClassB中methodB,具體的代碼為:
//定義ClassA以及其methodA
@interface ClassA : NSObject {
}
-(void)methodA;
@end
//定義ClassB以及其methodB
@interface ClassB : NSObject {
}
-(void)methodB;
@end
//定義ClassC以及其需要的methodA,methodB
@interface ClassC : NSObject {
ClassA *a;
ClassB *b;
}
-(id)initWithA:(ClassA *)A b:(ClassB *)B;
-(void)methodA;
-(void)methodB;
@end
//注意在ClassC的實現
@implementation ClassC
-(id)initWithA:(ClassA *)A b:(ClassB *)B{
a=[[ClassA alloc] initWithClassA: A];//[A copy];
b=[[ClassB alloc] initWithClassB: B];//[B copy];
}
-(void)methodA{
[a methodA];
}
-(void)methodB{
[b methodB];
}
轉載于:https://www.cnblogs.com/baitongtong/p/5826354.html
總結
以上是生活随笔為你收集整理的OC 组合实现多继承的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Supervisor的安装与
- 下一篇: 乌镇走一圈需要多久