転送
Forwarding
ググるときは「委譲」で出てくるやつ
一般的な委譲は「転送」の誤用らしいが、一般的になってしまった
クラスベースのOOPの委譲のことかなmrsekut.icon 継承は子が親の能力を獲得する
が、委譲は親をツールとして所有するだけ
子に新しい能力が備わるわけではない
使い分け
あるクラスAが単に他のクラスのmethodを使いたい場合は、委譲をする
ここで継承をしてしまうと、Aの責務が親のものも持ち合わせることになる
つまり、変な使い方をすると、子が無駄に複数の責務を持つことになる
本当に親と同じ責務を持つべきなら継承する
これって、「親と子の関係」じゃなくね?
継承は明らかに親子関係があるが、
委譲って親子関係と考えると混乱するくない?
上下関係のない友人からmethod借りてくるみたいな感覚ではないのか?
参考
具体例を用いた継承と委譲の比較
ガチのやつ