Objective C实现多继承
来源:互联网 发布:flyme和miui知乎 编辑:程序博客网 时间:2024/05/13 15:17
我们都知道objective C不能像C++一样支持多继承,但是在OC的使用经常会碰到需要使用多继承的情况。例如,ClassA中有methodA,ClassB中methodB,而现在需要使用这两个类中的方法。如何按照C++的编程思路,毫无疑问采用多继承就搞定了,在OC就需要动动脑子了。
//定义ClassA以及其methodA
@interface ClassA : NSObject {
}
-(void)methodA;
@end
//定义ClassB以及其methodB
@interface ClassB : NSObject {
}
-(void)methodB;
@end
//定义ClassC以及其需要的methodA,methodB
@interface ClassC : NSObject {
}
-(id)initWithA:(ClassA *)A b:(ClassB *)B;
-(void)methodA;
-(void)methodB;
@end
//注意在ClassC的实现
@implementation
-(id)initWithA:(ClassA *)A b:(ClassB *)B{
}
-(void)methodA{
}
-(void)methodB{
}
上面是采用组合的方式实现了多继承的功能,解决了OC不能多继承的语法。那么还有其他的方式来实现多继承吗?
虽然OC在语法上禁止类使用多继承,但是在协议的遵守上却允许使用多继承。所以可以用协议来实现多继承。但是协议只能提供接口,而没有提供实现方式,如果只是想多继承基类的接口,那么遵守多协议无疑是最好的方法,而既需要多继承接口,又要多继承其实现,那么协议是无能为力了。多协议遵守比较简单,类别的形式亦可以实现多继承。
- Objective C实现多继承!
- Objective C实现多继承
- Objective C实现多继承
- Objective C实现多继承!
- Objective-C实现多继承
- objective C多继承
- Objective-C 中如何变相实现多继承
- iOS开发笔记--Objective-C实现多继承
- iOS开发笔记--Objective-C实现多继承
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- [Java] Thread-03 Priority -01 、TestThread6
- Codeforces Round #217 (diy.2) C. Mittens
- 常用的求和公式(级数求和)
- 使用Dom4j解析xml
- 所有的排序c语言实现
- Objective C实现多继承
- 8个月从CS菜鸟到拿到Google Offer的经历+内推
- 数字逻辑芯片大全
- 【设计模式基础】结构型模式 - 1 - 适配器(Adapter)
- 电子电路学习笔记
- db file scattered read等待事件
- UART(2)—从uart发一个字符串给minicom
- 最小二乘法及C语言实现
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)