質問: a; } @Override public void funcA() { this.a.funcA(); } } class Bbb extends ForwardingAaa { private Bbb(Xxx x, Yyy y, Zzz z) { super(Aaa.of(x, y)); // do something } public static Bbb of(Xxx x, Yyy y, Zzz z) { return new Bbb(x, y, z); } void funcB() { // do something } } ``` ※スマホからの投稿なので、構文的なミスがあるかもしれませんが、ご容赦願います。
回答: 簡単に回答します。 結論から言うと無駄になります。必要なければ継承のほうが簡単で良いでしょう。 ただし、それはデメリットの一つで、拡張性がないクラスだったり2つのクラスを纏めて扱ったりしてメリットがデメリットを超える場合もあるのです。(あと言語による部分も大きいです。) 個別的に判断しなければならないし、正解がない場合も多いので場合によるというしかありません。