objective C多继承
来源:互联网 发布:快速排序 php 编辑:程序博客网 时间:2024/05/17 02:57
我们都知道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 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective C实现多继承
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- objective-c和多继承
- Objective C实现多继承
- Objective-C 的“多继承”
- Objective-C 的“多继承”
- 给即将要准备制作iOS app应用的朋友的一些前提准备建议:
- C#引用Excel找不到类型或命名空间名称“Excel”
- 误导人的接口(interface)
- 如果Android发展成这样
- net_kernel的一些细节
- objective C多继承
- 2013年8月编程语言排行榜:C和Objective-C成受害者
- android 电话接通时震动
- 一不小心踏进Android开发: TPMini大眼睛使用PS3蓝牙手柄(四)围绕linmctool挖掘SixAxis通讯协议
- 畅通工程_hdu_1863(并查集+最小生成树).java
- MongoDB内存使用原理
- Mongodb使用心得
- vs2010+opencv
- C++二维数组讲解、二维数组的声明和初始化