Objective c 在运行时选择基类类型,如模板

Objective c 在运行时选择基类类型,如模板,objective-c,class-design,Objective C,Class Design,我有一个组件,它被用作许多更复杂组件的基类。 当前,此基础继承自UIScrollView 我现在想要的是有一个替代的基本视图,具有99%的相同功能,但它将从UIView继承。 在C++中,我最可能用模板来完成这一点,但是如何在Objtovi-C?中完成? 例如: 我的目标是基类可以从UIView或UIScrollView继承,这将在运行时决定,而无需为UIView类型基或UIScrollView类型基创建每个派生类的特殊实现 一种解决方案当然是让基类从UIView继承,如果需要的话,在运行时向它

我有一个组件,它被用作许多更复杂组件的基类。 当前,此基础继承自UIScrollView

我现在想要的是有一个替代的基本视图,具有99%的相同功能,但它将从UIView继承。 在C++中,我最可能用模板来完成这一点,但是如何在Objtovi-C?

中完成? 例如:

我的目标是基类可以从UIView或UIScrollView继承,这将在运行时决定,而无需为UIView类型基或UIScrollView类型基创建每个派生类的特殊实现


一种解决方案当然是让基类从UIView继承,如果需要的话,在运行时向它添加另一个UIScrollView,但我想知道如果没有它是否可以做到。

您看过协议了吗?我对C++没有那么好,但我认为这是最接近的。p>
                |-- ComplexDerivedClass_1
                |
BaseClass  -----|-- ComplexDerivedClass_2    |-- EvenMoreComplexDerived_1
                |                            |
                |-- ComplexDerivedClass_3 ---|-- EvenMoreComplexDerived_2 
                                             |
                                             |-- EvenMoreComplexDerived_3