【问题标题】:Multiple inheritance in Objective-C [duplicate]Objective-C中的多重继承[重复]
【发布时间】:2011-05-28 20:34:12
【问题描述】:

可能重复:
Objective-C multiple inheritance

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

如何在 Obj-C 中实现相同的目标?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

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

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

    苹果参考:

    【讨论】:

    • 这是个好主意!
    【解决方案2】:

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

    类似这样的:

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

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 2011-05-10
      • 2014-03-08
      • 2014-04-30
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多