我有一个 iPhone 应用程序,其中A类是UIViewController的子类:
现在我正在创建一个新应用程序,我想在其中重新使用A,但是让它从B子类化,这很好,因为B从UIViewController子类化:
但现在我有另一个类C,它是GLKViewController的子类:
当我尝试制作第三个重新使用B而没有任何更改的应用程序时,问题就来了。由于B从UIViewController继承,我需要以某种方式告诉C它应该从B 和 GLKViewController继承,我认为这是多重继承的情况:
从我正在阅读的内容来看,处理此问题的最佳方法是使用composition,但我不明白如何最好地将其应用于我的情况。
作为一个替代解决方案,我意识到我可以创建一个包装器类D,然后我可以逐个应用程序对其进行修改,以便从适当的超类中为手头的任务进行子类化:
但这似乎有点骇人听闻。有一个更好的方法吗?