我正在学习设计模式,我偶然发现了这个PDF
在幻灯片 12 上,它说明了以下 3 条规则:
- 任何变量都不应包含对具体类的引用
- 任何类都不应派生自具体类
- 任何方法都不应覆盖其基类的已实现方法
现在假设我有一个抽象类说“A”。然后,我有 3 个具体的类应该实现这个抽象类,它们是类“B”、“C”、“D”。问题是 D 是 C 的一个特例。 D 只有一个实例变量。
我的问题是,
- 首先,是保证良好设计的黄金法则之上的 3 条规则吗?
- 其次,如果“D”扩展“C”并覆盖“C”的方法以添加更多行为,可能会出现什么问题