Objective-C中的多重遗传

Objective-C中的多重遗传,objective-c,Objective C,可能重复: 我想在Objective-C中实现多重继承 i、 e.我有一个类“Sub”,它需要是类“Super”的子类以及UITableViewController 如何在Objective-C中实现同样的目标?Objective-C中没有多重继承。不过,您可以尝试通过组合解决您需要解决的问题 大概是这样的: @interface MyViewController : UIViewController { Sub *mySubComponent; } @property (nonato

可能重复:

我想在Objective-C中实现多重继承 i、 e.我有一个类“Sub”,它需要是类“Super”的子类以及UITableViewController


如何在Objective-C中实现同样的目标?

Objective-C中没有多重继承。不过,您可以尝试通过组合解决您需要解决的问题

大概是这样的:

@interface MyViewController : UIViewController {
    Sub *mySubComponent;
}
@property (nonatomic, retain) Sub *mySubComponent;
// you can write wrapper methods here to call mySubComponent methods/messages

Objective-C不支持多重继承。您可以使用协议、组合和消息转发来实现相同的结果

协议定义了一组对象必须实现的方法(也可以有可选方法)。组合基本上是包含对另一个对象的引用并在需要该对象的功能时调用该对象的技术。消息转发是一种机制,允许对象将消息传递到其他对象,例如,通过合成包含的对象

苹果参考:

  • (具体而言)

这是个好主意!