仅继承某些超类实现

时间:2014-07-02 14:58:49

标签: ios objective-c inheritance

我在当前的iOS项目中遇到了继承问题:

当前的继承结构如下所示(简单表示):

    CommonWidget
        AWidget
            AWidgetDetailsView
        BWidget
            BWidgetDetailsView
        RoundWidget
            RoundWidgetDetailsView

CommonWidget为阴影,背景,图标,按钮等声明并实现了几种布局方法。A...& B...类,此代码被重用,因为视图看起来相似,但具有不同的模型。到目前为止没有问题\ o /

Designer现在推出了一种新的Widget,RoundWidget,看起来有些不同,但RoundWidgetDetailsView看起来像另一个_DetailsViews

这会导致问题:RoundWidget会覆盖CommonWidget的布局方法,这意味着RoundWidgetDetailsView显然也会使用这些方法。

或多或少,它取决于这个问题的接受答案的替代方案:

How to call a method of super.super?

或者,简单地说,有关如何更改继承结构的任何建议,以避免将来遇到同样的问题?

提前感谢您的时间!

托拜厄斯

0 个答案:

没有答案