1

ご参考までに、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 を無効にしない同様のケースはありますか?

最後に、スーパータイプ内のサブタイプのインスタンスをチェックするときに RTTIOCP を無効にし、スーパータイプのソース コードを変更して OCP を無効にするケースはありますか (明らかに変更のために閉じられていませんでした)?

4

0 に答える 0