从目标C中的两个类继承

时间:2013-03-05 04:39:09

标签: objective-c multiple-inheritance

我有两节课。我已经定义了一些方法。我需要在单个类中从这两个类中获取这些方法,而无需重新定义。 Objective C不支持多重继承,那么我该如何实现呢?

2 个答案:

答案 0 :(得分:3)

不要使用继承,请使用合成。

#import "classname1.h"
#import "classname2.h"

@implementation classname3

 -(id)method1
 {
     id val1 = [classname1 methodToUse];
     id val2 = [classname2 otherMethodToUse];
     return val1 + val2;
 }
@end

答案 1 :(得分:1)

Objective-C不支持多重继承。您可以创建类的实例并在新类中访问它们的方法

@interface class3
{
   class1 *c1;
   class2 *c2;
}

并使用

访问方法
[c1 yourMethod];
[c2 yourMethod];

您还可以使用协议通过创建委托方法并在其他类中实现它来访问多个类中的方法,如http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html中所述