合成や継承を「常に」支持するわけではなく、その逆もありません。それらは異なるセマンティクス (意味) を持っています。意味を注意深く見てから決定してください - 一方が他方より「簡単」かどうかは問題ではありません。長寿のためには、セマンティクスを正しく理解することが重要です
覚えておいてください: is-a = タイプ、has-a = 包含
したがって、この場合、ポートフォリオは論理的には資金の集まりです。ポートフォリオ自体はファンドの一種ではないため、構成は正しい関係です
編集:私はもともと質問を読み違えましたが、答えは同じです。ポートフォリオはリストの一種ではなく、独自のプロパティを持つ個別のエンティティです。たとえば、ポートフォリオは、初期投資コスト、現在の合計価値、時間の経過に伴う価値の履歴などを含む金融商品の集合体ですが、リストはオブジェクトの単純なコレクションです。ポートフォリオは、最も抽象的な意味でのみ「リストのタイプ」です。
編集 2: ポートフォリオの定義について考えてみてください。ポートフォリオは、例外なく、物の集まりとして特徴付けられます。アーティストのポートフォリオはアートワークのコレクションであり、Web デザイナーのポートフォリオは Web サイトのコレクションであり、投資家のポートフォリオは所有するすべての金融商品で構成されています。明らかに、ポートフォリオを表すリスト (または何らかの種類) が必要ですが、それはポートフォリオがリストの一種であることを意味するものではありません!
Portfolio に List から継承させることにしたとします。これは、株式、債券、または貴金属をポートフォリオに追加するまで機能し、その後突然、誤った継承が機能しなくなります。あるいは、たとえばビル・ゲイツのポートフォリオをモデル化するように求められ、List がメモリ不足になることがわかったとします ;-) より現実的には、将来のリファクタリングの後、おそらく Asset のような基本クラスから継承する必要があることに気付くでしょう。 List から既に継承している場合は継承できません。
まとめ: 概念を表すために選択するデータ構造と、概念自体のセマンティクス (型階層) を区別します。