初心者の質問である必要があります...
既存のクラスAに既存のコードがあり、既存のメソッドA :: f()をオーバーライドするために拡張したいと思います。
それで、他のコードがそれに依存しているので、A :: f()を変更したくないので、f()をオーバーライドするクラスBを作成したいと思います。
これを行うには、A :: f()を仮想メソッドに変更する必要があると思います。
私の質問は、メソッドを動的に呼び出すことを許可する以外に(AではなくBの実装を使用するために)、メソッドを仮想化することに他の影響はありますか?私はある種の良いプログラミング慣行を破っていますか?これは、A :: f()を使おうとしている他のコードに影響しますか?
私にお知らせください。
ありがとう、jbu
編集:私の質問は、他の誰かのメソッドを仮想化することに何か問題がありますか?他の人の実装を変更していなくても、他の人の既存のコードにアクセスして宣言を変更する必要があります。