カプセル化は継承よりも優れていると考えられています(有効なJavaやその他のソースに従う)、オブジェクトの転送というパターンがあります。 (私はDecoratorパターンは、このための同義語であると考えていますが、私が間違っている場合は私で叫ぶしないでください!)定型コードなしでJavaで転送オブジェクトパターンを実装する方法はありますか?
基本的に、あなたはこのようなコードを書く:
class public ForwardSomething extends Something {
private Something something=new Something();
public void somethingMethod1(){return something.somethingMethod1();}
public void somethingMethod2(){return something.somethingMethod2();}
/*Do same for the methods for all methods of Something that exist when you wrote Forward Something.*/
}
そう多くはありますがボイラープレートコードのそして、私たち皆は「自分を繰り返さないでください」が理想的だと知っています。この問題に近づく良い方法はありますか?定型コードは含まれていませんか?
(それが何かを拡張する場合は、すでにそのを持っていますメソッド - サブクラスを合成する目的は何ですか?ここで書いたものではなく、実装と新しいSomethingImplを意味しますか? –