|
あるシステムがありクラスを実行時に置き換える方法を模索しています。
あくまで例ですが Mainクラスと複数のSubクラスがあり ほとんどのSubクラスからJREのIntegerクラスのparseIntメソッドを呼び出しているとします。
ある仕様変更によりparseIntメソッド内部で処理を追加するといった事をやる事となりました。 ※引数や戻り値に型は変更していません。
今回の改修では最小限の修正に留めたいため(というよりも顧客側からの制限で修正できない。)、 IntegerクラスのExtendsした拡張クラス(ExtIntegerクラス)を作成し、 SubクラスからExtIntegerのparseIntメソッドを呼ぶという方法ではなく MainクラスでIntegerクラスとExtIntegerクラスを置き換える処理を実装しSubクラス等には手をいれれずに 自動的(言い方が変かもしれませんが)にExtIntegerクラスのparseIntメソッドが呼ばれるようにしたい所です。
いろいろと試してみてはいるのですが、どうも実現できません。
何かいい方法等あればご教授頂きたいのです。 宜しくお願い致します。
|