- 742 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 22:37:37.84 ID:s0kRtfrq.net]
- ちょっと違うなぁ。
c++ template & conceptだと wandbox.org/permlink/74j79ZQ3mbPb2cLO みたいな感じでCircleはf()の影響を受けずに独立させることができる。 draw()メソッドというダックテストを満たせば他はどうでも良い。 Rustのgenericsだと wandbox.org/permlink/CvepQKXOXaNTJoJm みたいにCircleとf()の間にtrait Dという相互依存ができて、Circleを好き勝手に定義できなくなる。 f()が欲しいのはあくまでdraw()メソッドだけだから、双方にtrait Dが必要になるのは過剰な相互依存になる。 クラスの継承もそうだけど、余計な依存性は面倒だからできるだけ排除したいところ。
|

|