【发布时间】:2013-05-17 08:25:41
【问题描述】:
我通常会遇到一些设计问题,在这些问题中,我可以选择通过由子类继承来专门化一个类,或者通过为它定义一个对其进行分类的属性来专门化该类。例如,对于汽车的组件集合,我们可以定义类(例如 Wheel、Tire、Door ... 等),或者我们可以定义一个单独的类“CarComponent”,它有一个名为“Type”的属性,它接受来自列出不同类型汽车组件的枚举值。
我们如何比较这两种方法,以及各自推荐哪种设计模式?
谢谢。
【问题讨论】:
-
我认为方法的不同取决于您对这些不同分类所需的行为。
标签: oop inheritance object-oriented-analysis