не «всегда» одобряют композицию или наследование или наоборот; они имеют различную семантику (значения); внимательно посмотрите на значения, а затем решите - не имеет значения, является ли одно «легче», чем другое, для долговечности важно, чтобы вы правильно поняли семантику
помните: is-a = тип, has-a = сдерживание
поэтому в данном случае портфель логически представляет собой совокупность средств; портфель сам по себе является , а не типом фонда , поэтому состав является правильным соотношением
РЕДАКТИРОВАТЬ: Первоначально я неправильно понял вопрос, но ответ остается тем же. Портфолио - это не тип списка, это отдельная сущность со своими собственными свойствами. Например, портфель - это совокупность финансовых инструментов с первоначальными инвестиционными затратами, общей текущей стоимостью, историей значений во времени и т. Д., В то время как список представляет собой простую коллекцию объектов. Портфель - это «тип списка» только в самом абстрактном смысле.
РЕДАКТИРОВАТЬ 2: подумайте об определении портфеля - он, без исключения, характеризуется как набор вещей. Портфолио художника - это коллекция его произведений, портфолио веб-дизайнера - это коллекция их веб-сайтов, портфолио инвестора состоит из всех принадлежащих им финансовых инструментов и так далее. Очевидно, что нам нужен список (или какой-то другой) для представления портфеля, но это никоим образом не означает, что портфель - это тип списка!
предположим, что мы решили позволить Портфолио наследовать от List. Это работает до тех пор, пока мы не добавим Запас, Связку или Драгоценный Металл в Портфолио, а затем неожиданно неправильное наследование больше не будет работать. Или предположим, что нас просят смоделировать, скажем, портфель Билла Гейтса и найти, что List не хватит памяти ;-) Более реалистично, после будущего рефакторинга мы, вероятно, обнаружим, что мы должны наследовать от базового класса, такого как Asset, но если мы уже унаследовали от List, тогда мы не можем.
Резюме: различайте структуры данных, которые мы выбираем для представления концепции, и семантику (иерархию типов) самой концепции.