类层次结构设计的可扩展性注意事项
更新:2007 年 11 月
即使设计良好的类层次结构随着时间的推移也需要不断发展。在设计类层次结构时提前做出选择可简化以后的工作。
扩展类层次结构
下面的列表包含一些使类层次结构更容易扩展的建议:
从通用到专用定义类层次结构。将继承层次结构的每一级别的类定义得尽可能通用。派生类可继承、重用和扩展基类中的方法。
例如,假设正在设计一个模拟计算机硬件的类层次结构。当开始建立输出设备模型时,可定义名为 Display、Printer 和 File 的类。然后可以定义实现这些基类中所定义的方法的类。例如,LCDDisplay 类可从 Display 派生并实现一个名为 EnterPowerSaveMode 的方法。
在定义数据类型和存储区时要慷慨,以避免以后更改困难。例如,可能考虑使用 Long 类型的变量,即使当前数据可能仅需要标准的 Integer 变量。
只公开派生类需要的项。Private 字段和方法可减少命名冲突并防止其他用户使用您以后可能需要更改的项。
只应将派生类需要的成员标记为 Protected。这可确保只有派生类依赖这些成员,从而在开发期间可以更容易更新这些成员。
确保基类方法不依赖 Overridable 成员(它们的功能可能会被继承类更改)。