デザインパターンについて学んでいて、このPDFにたどり着きました
スライド 12 には、次の 3 つのルールが記載されています。
- 具象クラスへの参照を保持する変数はありません
- どのクラスも具象クラスから派生してはなりません
- 基本クラスの実装されたメソッドをオーバーライドするメソッドはありません
ここで、「A」という抽象クラスがあるとします。次に、この抽象クラスを実装する必要がある3つの具象クラスがあります。それらはクラス「B」、「C」、「D」です。問題は、D が C の特殊なケースであることです。D にはインスタンス変数が 1 つしかありません。
私の質問は、
- まず、良いデザインを保証する黄金律以上の3つのルール
- 第二に、「D」が「C」を拡張し、「C」のメソッドをオーバーライドして動作を追加すると、どのような問題が発生する可能性がありますか