多くのプロジェクトにプラグインできるツールキットとして使用している Java クラスのセットがあります。このツールキットのコードを変更したくないので、更新したりバグを修正したりするたびに、それを使用しているプロジェクトにドロップするだけで、ローカルの変更について心配する必要はありません。したがって、ローカル プロジェクトでツールキットのメソッドをオーバーライドする必要がある場合は、次のようにツールキット オブジェクトのローカル バージョンを作成するだけです。
ファイル: ツールキット/Dog()
public class Dog(){
public void pet(){
print("scratch ruff");
}
}
ファイル: local/Dog()
public class Dog extends toolkit/Dog {
public void pet(){
print("rub ears");
}
}
Dogまた、ローカル オブジェクトでは、ツールキット オブジェクトではなくローカル オブジェクトを参照しDogます。
これまでのところうまくいきましたが、問題が発生しました。ツールキットの別のクラスは を使用しDogます。
ファイル: ツールキット/DogHandler
public void careForPack( List<Dog> arg_allTheDogs ){
for( Dog fido : arg_allTheDogs ){
fido.pet();
}
}
Dog発生する問題は、システムがこれらが同じオブジェクトではないことを好まないことです。ローカルでオーバーライドしたくありませんDogHandler。なぜなら、ツールキット全体をオーバーライドすることになり、目的が果たせなくなるからです。
がの子 ( とも呼ばれる) を有効であるDogHandlerと認識する方法はありますか?DogDog