【发布时间】:2011-11-30 10:08:20
【问题描述】:
我有一个关于类继承的简单问题。
假设我有课。它具有一些基本功能。 现在我需要使用该类,但我需要添加一些仅针对该目的的其他功能。所以我的那个类的界面会被破坏。基础类在很多地方都以is的形式使用。
我应该从这些基本类派生吗?还是更好的解决方案?
更多细节:基本类是文本编辑器,具有导入/导出到 XML、HTML 和导航控件等功能。它看起来就像 stackoverflow 的编辑器。 而且我需要添加一些只针对新用途的方法。
【问题讨论】:
-
您需要提供更多背景信息才能获得有用的答案。您需要访问私有成员或受保护成员吗?接口在哪方面坏了?您为什么犹豫将更改放入现有类?
-
@userbb:这取决于上下文。 Base->Derived Derived 可以有自己的功能。当我们必须将 Derived 视为 Base 时,它应该作为 Base(Liskov 替换原则)的一种工作,当我们将其视为独立类时,它可以有自己的行为/支持行为。所以它是程序员的选择来决定设计