ご参考までに、Open-Closed Principle (OCP): https://www.cs.utexas.edu/users/downing/papers/OCP.pdf
OOP コースはほぼ終了しましたが、OCP と、なぜ RTTI が違反しているのかについて質問があります。アイデアはありますが、自分が正しいことを確認したいだけです。
スーパークラスのメソッドをオーバーライドし、RTTI を使用して型が同じかどうかを確認する場合のように、RTTI を使用して何かが基本クラス (スーパータイプ) の型であるかどうかを推測する場合、RTTIは OCP 原則を無効にしません。タイプ。equals(o: Object)
o
RTTIがOCP を無効にしない同様のケースはありますか?
最後に、スーパータイプ内のサブタイプのインスタンスをチェックするときに RTTIがOCP を無効にし、スーパータイプのソース コードを変更して OCP を無効にするケースはありますか (明らかに変更のために閉じられていませんでした)?