我有两门课,一门是methodA,另一门是methodB.所以在一个新类中,我需要重写methodA和methodB方法.那么如何在目标C中实现多重继承呢?我对语法有点困惑.

推荐答案

Objective-C不支持多重继承,你也不需要它.使用构图:

@interface ClassA : NSObject {
}

-(void)methodA;

@end

@interface ClassB : NSObject {
}

-(void)methodB;

@end

@interface MyClass : NSObject {
  ClassA *a;
  ClassB *b;
}

-(id)initWithA:(ClassA *)anA b:(ClassB *)aB;

-(void)methodA;
-(void)methodB;

@end

现在只需在相关ivar上调用该方法.更多的代码,但objective-C中没有多重继承作为语言特性.

Objective-c相关问答推荐

CLLocationManager startUpdatingLocation 未调用 locationManager:didUpdateLocations: 或 locationManager:didFailWithError:

Xcode 是否支持区域?

在 ARC 之后,我应该为调度队列使用什么属性?

Asihttprequest 61 错误

NSTimeZone:localTimeZone 和 systemTimeZone 有什么区别?

将 NSNumber 转换为 NSDecimalNumber

判断是否显示 UIAlertView

如何在 XCode 4 中创建 dSYM 文件?

dispatch_semaphore_dispose 上的 EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

如何为图层 shadowOpacity 设置动画?

委托如何在 Objective-C 中工作?

distanceFromLocation - 计算两点之间的距离

将 HTTP 标头添加到 NSURLRequest

两个 NSDate 对象之间的区别 - 结果也是一个 NSDate

无法在导航栏中心设置titleView,因为返回按钮

通过将另一个字符串重复给定次数来创建 NSString

NSNumber 和 NSInteger 有什么区别?

iPhone SDK:如何在视图中播放视频?而不是全屏

xcode 5.1 中的 Arm64 架构

Xcode 如何加载主情节提要?