Я пытаюсь понять, почему композит лучше простого наследования.Преимущества композитного шаблона над простым наследованием
Например, можно сказать, что мы хотим реализовать файловую систему. Итак, в основном нам нужны файлы и папки. Мы можем использовать композитный шаблон, в то время как классы File
и Folder
наследуют базовый интерфейс, а класс Folder
содержит коллекцию типа интерфейса.
Но, похоже, (мне все равно), что простое наследование может сделать то же самое. Если File
является корневым классом и Folder
унаследовал от File
, Folder
может содержать коллекцию File
s, конец рассказа.
Я что-то не хватает?
Ответ зависит в какой-то степени от используемого языка. На каком языке или на каком языке вы заинтересованы? –
На некоторых языках множественного наследования нет. Ваше предложение лишает вас возможности унаследовать некоторые функциональные возможности Folder от всего остального, чем File. – Voooza
В настоящее время я использую C# (или java) – Avi