#ооп #наследование
Перерыл уже кучу ресурсов, но вот о достоинствах и недостатках ничего не нашел.
Ответы
Ответ 1
В теории прототипы дают больше гибкости. С их помощью можно вытворять такое, что строгому ООПу и не снилось. Поэтому... В теории Преимущества: Умопомрачительная гибкость: возможность менять прототипы во время выполнения программы, генерировать динамические иерархии прототипов и совершать прочие забавные вещи. Вас не смогут уволить, потому что код сможете поддерживать только вы. Недостатки: Ваш код никто не будет понимать. Однако если вы примените эту теорию на практике, то вас засмеют за ненормальное программирование, а то вовсе попросят на выход. Практически всегда вы будете использовать только те возможности прототипов, которые аккуратно ложатся в ООП. Более того, существующие движки джаваскрипта предполагают, что вы будете использовать строгие "классы", и при уходе в динамику сильно проседают по производительности. Так что переходим к суровой правде жизни... На практике Преимущества: Отсутствуют. Недостатки: Странный синтаксис. Зоопарк библиотек, эмулирующих обычные классы. И будем честны: единственный мейнстримовый язык с прототипами — это JavaScript. Это такой язык, который дизайнили 10 дней и накодили за пару месяцев. В новой версии стандарта вводят синтаксический сахар для классов, поэтому старый синтаксис с прототипами уйдёт в прошлое. Посему... В ближайшем будущем Преимущества: Если вы знаете, что такое прототипы, то вы будете на 20% круче тех, кто не знает. Вы сможете гордиться этим абсолютно бесполезным знанием. Недостатки: Отсутствуют.Ответ 2
Поскольку на основе прототипного наследования можно реализовать классическое, единственным его недостатком можно назвать некоторое усложнение и непривычность кода.
Комментариев нет:
Отправить комментарий