Тёмный

Композиция или Наследование в JavaScript? 

Владилен Минин
Подписаться 308 тыс.
Просмотров 40 тыс.
50% 1

Исходники тут: t.me/js_by_vladilen/128
Получить профессию Frontend разработчика -
bit.ly/3AaQy5K
Подробнее узнать об обучении в Result School -
bit.ly/3u7wA7Y
Бесплатный курс HTML & CSS - bit.ly/3OK4ozY
Сделать 5 проектов на JavaScript - bit.ly/3nqF7iJ
Я в соц сетях:
Telegram: t.me/js_by_vladilen
VK: vladilen.minin
Instagram: / vladilen.minin
Мои паблики по JavaScript:
Telegram: t.me/result_school_it
VK: result.school
Instagram: / result.scho. .
JavaScript cообщества:
Discord: / discord
Telegram: t.me/js_by_vladilen_chat
Roadmap по каналу:
vladilen.notion.site/Roadmap-...
Чем отличается композиция от наследования, какие есть плюсы и минусы у каждого из подходов вы узнаете в этом видео
Композиция или Наследование в JavaScript?
#js #javascript

Опубликовано:

 

25 янв 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 231   
@VladilenMinin
@VladilenMinin 4 года назад
Готовим набор навыков и знаний под Vue 3
@andreyzavarygin8981
@andreyzavarygin8981 3 года назад
почти год прошёл, даже не подумал бы что это пригодится в новом курсе)
@Alex.Adametz
@Alex.Adametz 4 года назад
Замечательные у вас уроки, огромное спасибо!
@alexandrelagin5490
@alexandrelagin5490 4 года назад
Спасибо, хороший материал. Отличная подача и понятные примеры. Жду ещё видео по тему чистого js.
@andrey_pav
@andrey_pav 4 года назад
Спасибо за очередной урок!
@andreysokolov2335
@andreysokolov2335 4 года назад
Очень хорошее видео с понятным объяснением и примером. Спасибо )
@TheDeathoxy
@TheDeathoxy 4 года назад
Спасибо. Показываете очень полезные и важные вещи.
@Deligium
@Deligium 4 года назад
Спасибо большое, рассказал интересно и доступно, жду подобные видео еще:)
@Virisound
@Virisound 4 года назад
Спасибо, очень интересно. Реально классно.
@markusgaifutdinov4079
@markusgaifutdinov4079 3 года назад
Спасибо большое! Действительно нереальная гибкость композиции!
@nechikeducation3482
@nechikeducation3482 4 года назад
Отличное видео. Сам примерно пол года назад узнал про композицию и стал местами использовать. Очень упрощает жизнь и заставляет иногда посмотреть на функционал с другой стороны
@talivel118
@talivel118 2 года назад
Как же это божественно, надо больше!:)
@hsmtrue
@hsmtrue 4 года назад
Еще не программирую на JS, но очень нравятся ролики, все детально разъяснено! Спасибо
@dmitryshaplyko9957
@dmitryshaplyko9957 4 года назад
Коротко и по делу. Спасибо за видео
@DIEZ919191
@DIEZ919191 4 года назад
Вот не знаю сколько прошло времени с тех пор как ты записывал свой курс для webformyself, но чувствуется рост скилла в подаче материала и тд))
@vitaliizvarych6469
@vitaliizvarych6469 4 года назад
Очень доступно и лаконично, спасибо)
@alexlmaxl4966
@alexlmaxl4966 4 года назад
Очень познавательно, спасибо!
@one-zero-dev
@one-zero-dev 3 года назад
Интересный урок, большое спасибо!
@vladimirlevin6799
@vladimirlevin6799 3 года назад
Владилен, спасибо огромное!
@HOTBOY9961
@HOTBOY9961 4 года назад
ура новое видео, только вчера думал "когда же новое видео" все уже посмотрел
@vitalinavakulchyk4467
@vitalinavakulchyk4467 4 года назад
Знания, которыми Вы делитесь, настолько ценны, что я просто в афиге от степени этой ценности! Огромное спасибо за Ваш труд!
@_SOMEONE_
@_SOMEONE_ Год назад
Привіт!
@404Negative
@404Negative 7 дней назад
@@_SOMEONE_ зомби, как вы сюда понабежали ахахаха.
@jocoders6560
@jocoders6560 3 года назад
Супер! Спасибо бро 🙏
@chapka-feed-4564
@chapka-feed-4564 2 года назад
5:45 О нет, обманул нас... Моя жизнь больше никогда не будет прежней)
@AGM140580
@AGM140580 2 года назад
Заинтересовался преимуществами Composition API во Vue3. Благодаря Вам стало всё понятно. Спасибо!
@Zadorozhniy39
@Zadorozhniy39 4 года назад
Очередная благодарнось 👍🏿🙏🏿🔥
@jahongirbektemirov6516
@jahongirbektemirov6516 Год назад
Ты просто супер 👏🏻 большое спасибо
@katerynabiehantseva2744
@katerynabiehantseva2744 3 года назад
Очень интересно и полезно!
@tatianatitovets2867
@tatianatitovets2867 3 года назад
Спасибо большое! Супер!
@sergeyshortcutn6777
@sergeyshortcutn6777 3 года назад
Спасибо Владилен, все обучающие ролики топ)! Ваш ученик с Udemy.
@Abc707a
@Abc707a 4 года назад
И почему я не знал об этом канале раньше, Лайк и Подписка )))
@paulparker3664
@paulparker3664 4 года назад
было интересно, спасибо
@yanichornii1629
@yanichornii1629 4 года назад
Спасибо! Все супер!
@maksymovych_maksym
@maksymovych_maksym 4 года назад
Спасибо, отличное видео.
@user-wm1pw7oz9b
@user-wm1pw7oz9b 4 года назад
Очень интересно!
@andmak4795
@andmak4795 4 года назад
Как всегда топ!!!
@denis1987m
@denis1987m 4 года назад
Лично мне очень понравилось, спасибо.
@alexandrmironow9247
@alexandrmironow9247 4 года назад
самый годный контент на тему веб разработки
@a-sher
@a-sher 4 года назад
вообще круто! контент интересен))
@spyinfooo
@spyinfooo 4 года назад
Будет ли ролик про структуру, про то как писать api для связи с бэком?)
@VladilenMinin
@VladilenMinin 4 года назад
Думаю да
@user-yt9yu7mu5u
@user-yt9yu7mu5u 4 года назад
@@VladilenMinin было бы еще интересно затронуть тему SEO
@Realing29
@Realing29 4 года назад
​@@user-yt9yu7mu5u Fullstack seo специалист, давайте еще добавим через композицию, обязанностей копирайтера, художника, дизайнера, что бы вообще все на одного человека повесить, что бы у него физически времени не хватало успевать развиваться и шарить в каждом направлении.
@sharkman6434
@sharkman6434 Год назад
@@Realing29 уже повесли = чат жпт оператор называеться
@yakut54
@yakut54 4 года назад
Лайк не глядя
@user-ts4pq8mh7u
@user-ts4pq8mh7u 4 года назад
Thanks for the useful information
@vitalibanari6372
@vitalibanari6372 4 года назад
Cпосибо Очень интересный материал, Хотелось по больше про , Functional Programming, pure functions, currying, recursion...
@max_mgtow
@max_mgtow 3 года назад
Хорошо назвал бэкендера 👍✌️
@BraentR
@BraentR 3 года назад
Огромное спасибо
@mikurrey416
@mikurrey416 4 года назад
Контент, безусловно и как всегда, очень интересен. Спасибо! А Елена рулит))) И все-таки, композиционный подход пока оставляет двоякое впечатление. С одной стороны, он дает новый уровень масштабирования, с другой, выглядит непривычно и как будто даже бессистемно. Видимо глаз, привыкший к ООП, не хочет принимать это)))))
@-dubok-
@-dubok- Год назад
Очень полезный ролик! Как раз сейчас обучаюсь JS, и написал основной функционал своего тестового сайта на классах. Я знал при этом, что вместо классов можно использовать так называемые билдеры, которые строят объекты как показано здесь. Но я не знал, что можно ими заменить классы и сымитировать наследование! Возможно, буду переписывать классы на билдеры, потому как они мне кажутся лучше. Проблема с классами в том, что создаётся слишком глубокое дерево, из-за чего увеличивается время вызова функций, и их становится сложнее отслеживать. С билдерами можно быть гибче. С другой стороны, классы дают более чёткую структуру и понимание проекта. К тому же у классов можно вызвать методы родителя через super(), что даёт лучший контроль над получаемым объектом. Также классы вполне можно расширить за счёт миксинов, что даёт те же возможности, что и композиция. В классах понятно, как работает this, а используется он довольно часто. В композиции с ним легко будет запутаться, потому что связности нет и постоянно нужно гадать, что это за this. Поэтому, даже не знаю, что лучше. Это абсолютно разные способы мышления, и, если честно, классы мне всё же нравятся больше. Благодаря им у меня получается кодировать очень просто, в отличие от композиции. В голове более ясная и понятная картина, когда есть классы, а это ускоряет разработку.
@kargozerov
@kargozerov 4 года назад
Отлично!
@uaplatformacomua
@uaplatformacomua 2 года назад
Спасибо большое
@artemijeka
@artemijeka 2 года назад
Спасибо!
@andy.1331
@andy.1331 4 года назад
Спасибо за то, что показали недостаток отсутствия в языке множественного наследования.
@zhenyafromby
@zhenyafromby 3 года назад
Офигенный видос
@valeriipimenov4894
@valeriipimenov4894 4 года назад
Спасибо большое за твои труды) годнота твоего контента превышает 100% качества) Thank you)
@maker_aleks
@maker_aleks 4 года назад
Класс! 👍
@alexeylysenko7380
@alexeylysenko7380 4 года назад
Спасибо за урок! Вопрос не по теме: тебе удобнее с мышью или трекпадом работать? Хочу знать к чему лучше привыкать.
@tornadowaycom
@tornadowaycom 4 года назад
Вопрос не ко мне, но: после трекпада мышь напрочь забывается. С MacOS уже 7 лет
@alexburla1973
@alexburla1973 2 года назад
Не обезательно избавлятся от классов для работы с композицями, можно просто расширять их миксинами: class Programmer {...} function canFrontend () {...} function canBackend () {...} class Fullstack extends Programmer {...} Object.assign(Fullstack.prototype, {canFrontend, canBackend})
@aleksprimetv
@aleksprimetv 4 года назад
Владилен Минин, расскажи про агрегацию пожалуйста, это как раз из этой темы.
@gmirzoev
@gmirzoev 4 года назад
Как альтернатива, пример композиции выполненной с помощью классов, более КЛАССический вариант (pun intended): class Engine { constructor(volume) { this.volume = volume; } start() { console.log(`${this.volume} liters engine says: wrum-wrum!`); } } class FuelTank { constructor(liters) { this.liters = liters; } use(liters) { this.liters -= liters; console.log(`${liters} liters of gas were used. ${this.liters} left in the tank`); } } class Car { constructor(make, engineVol, tankVol) { this._make = make; this._engine = new Engine(engineVol); this._tank = new FuelTank(tankVol); } start() { console.warn(`Starting your brand-new ${this._make} car`); this._engine.start(); this._tank.use(2); } } let car = new Car('Audiii', 8, 63); car.start();
@mikurrey416
@mikurrey416 4 года назад
Это не совсем то. Точнее, совсем не то. Вы просто используете Engine и FuelTank внутри Car, но при этом авто не наделяется методами движка и бака, а просто использует их внутри, создавая их самостоятельные экземпляры.
@gmirzoev
@gmirzoev 4 года назад
@@mikurrey416, так и есть, это не совсем то, т.к. то что я привел в пример - это композиция, в соответствии с топиком. В то же время то, что продемонстрировано как композиция в видео - является агрегацией, отличие не такое существенное, но оно есть. Если копнуть чуть глубже, то в приведенном мной примере композиция это использование и инициализация сторонних классов внутри класса Car, а метод start класса Car это паттерн "фасад".
@kostyagordienko1392
@kostyagordienko1392 4 года назад
никогда не рекомендую делать таким образом в продакшне. вы создаете жесткую зависимость вашего класса Car от классов Engine и FuelTank. как выход из ситуации и получение подобного результата, советую рассмотреть использование dependency injection
@gmirzoev
@gmirzoev 4 года назад
@@kostyagordienko1392 я согласен что инверсия контроля это лучшее решение в большинстве случаев, но топик - композиция. К тому же это немного разные вещи. Инверсия контроля будет иметь смысл если элемент является заменяемым. Скажем мы можем поставить другой двигатель или бак в авто, это правда, но условимся что система подачи топлива заменена быть не может. В таком случае не имеет смысла использовать DI для этого, а вот композицию - вполне, т.к. система подачи топлива не имеет смысла без автомобиля и это позволит четко разграничить зоны ответственности. Опять же, согласен что для приведенного мною примера выше - DI выглядит "чище" и позволяет проектировать классы которые не противоречат SOLID принципам, но полноценный пример будет слишком большим.
@kusov4748
@kusov4748 4 года назад
Mik Urrey это случайно не агрегация?
@Lev777ch
@Lev777ch 4 года назад
Подтверждаю. Контент интересен. Лайк.
@avtandilshainidze7160
@avtandilshainidze7160 4 года назад
Спасибо за труд. Все понятно и полезно особенно для фаната Vue. Жду уроки Vue 3
@DarkzarichV2
@DarkzarichV2 4 года назад
Vue 3 убивает всё то, что многим нравилось в Vue 2. Очнитесь, наш вью превращается в реакт!
@404Negative
@404Negative 7 дней назад
@@DarkzarichV2
@yakut54
@yakut54 4 года назад
Вот добрался наконец... Прикольная задумка. Чем то Vuex напоминает. Там же тоже mapGetters, mapAtions, etc... подобным образом же разворачиваются, если я правильно всё понял. Плохо, что ещё один лайк влепить нельзя ))
@kseniazh1738
@kseniazh1738 4 года назад
Привет, Владилен! С большим удовольствием смотрю твои уроки! А теперь вопрос :) : не проще ли (и нагляднее/понятнее) применить наследование Programmer -> Frontend -> Backend , потом const fullstack = new Backend и вызываем то, что нужно? Понимаю, что backend тоже будет доступно все, но ведь можно дергать только то, что надо. Я не умничаю, а просто учусь :). Твоя искренняя поклонница :)
@VladilenMinin
@VladilenMinin 4 года назад
Как раз в этом и суть, чтобы он не умел делать лишнего. С этим много проблем
@xeleos
@xeleos 4 года назад
Напомнило setState из React
@user-ne7zm9sb3l
@user-ne7zm9sb3l 4 года назад
нормуль!
@fpv_am
@fpv_am 4 года назад
когда же будет видео про Домейн Дривен Дизайн или типы кохезии. С твоим навыком объяснять будет интересно.
@kookaburru
@kookaburru 4 года назад
Это один из часто используемых в программировании паттерн Стратегия.
@evgeniym29
@evgeniym29 4 года назад
Спасибо за замечательные видео. Сам я от фронта очень далек, но зачем так сложно? В JS можно и так: class Programmer { constructor(name, prop={}) { this.name = name; this.add(prop); } code() { console.log(`${this.name} is coding...`); } add(prop) { Object.entries(prop).forEach(([key, value]) => this[key] = value); } } function angular() { console.log(`${this.name} is create Angular app...`); } function vue() { console.log(`${this.name} is create Vue app...`); } function node() { console.log(`${this.name} is create Node JS app...`); } function react() { console.log(`${this.name} is create React app...`); } const Oleg = new Programmer('Oleg',{react,angular}); // Oleg знает react и angular Oleg.add({node,vue}); //Выучил node и vue Oleg.vue(); И никакого дублированния кода.
@x3mru
@x3mru 4 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-PnTcG5t3TWw.html
@aske34ru
@aske34ru 4 года назад
Разница в том что здесь описан паттерн, а у тебя скорее костыль. Трудно будет тому кто будет читать твой код. Паттерны логичны можно просто сказать что тут применяется композиция и будет понятно как разобраться в этом коде. А с костылем можно неделю просидеть и не понять что за хуйня происходит и как это вообще работает и работает ли вовсе.
@aske34ru
@aske34ru 4 года назад
То что ты можешь решить проблему по своему это клёво. Но когда работаешь в команде, нужно изучать и следовать определенным стандартам.
@aske34ru
@aske34ru 4 года назад
Паттерны решают именно проблему взаимосвязи между разными разработчиками, вводя некие стандарты в выборе решения определенных задач. А не просто предлагают ещё один метод решения частного случая.
@evgeniym29
@evgeniym29 4 года назад
​@@aske34ru Если мы начали разговор в плоскости проектирования, ну что же: В приведенном мной примере, класс Programmer и использует в самом чистом виде композицию. Мы можем динамически добавлять/удалять объекты и использовать. Для полной чистоты, можно еще добавить массив, в который пушить объекты, но в видео этого тоже не было. Если не веришь мне, что у меня композиция, могу дать ссылку на GoF или в Вики почитай.
@izograph
@izograph 3 года назад
Композиции - супер!!! Те же классы, только в процедурах! )) Если честно, мне такой подход понравился больше, чем классы, и он мне кажется более универсальным. Спасибо, Владилен, за такой контент!
@TheProfessionalGambler
@TheProfessionalGambler 2 года назад
Не нужно думать, что если пример на процедурах, то это композиция. Само понятие пришло с ООП, поэтому связанно с классами. Композиция - это способ взаимодействия (отношение) между классами.
@404Negative
@404Negative 7 дней назад
ШООООО ???? причом тут процедуры лол. вы о чем вообще ахахахха
@borismor1
@borismor1 4 года назад
А композиционный подход можно использовать в рамках классов ?
@kirillageychenko1414
@kirillageychenko1414 4 года назад
Delightfully!
@becauseistand
@becauseistand 4 года назад
В классическом ООП композиция достигается за счет ДЕЛЕГИРОВАНИЯ, а не построения объекта за счет вызова нескольких функций, наращивающих функционал. Во многих туториалах/статьях показывают похожие примеры (как здесь) и выдают это за ТРУ композицию, но это не так. Кто интересуется (или не верит) загляните в "Design Patterns: Elements of Reusable Object-Oriented Software" от 1994 года. Раздел Delegation примерно на 20 странице. p.s.: не поймите неправильно. Мне очень нравятся многие видосы Владилена (кроме этого)
@user-wu7mg1cu4e
@user-wu7mg1cu4e Год назад
для этой цели лучше использовать примеси или обернуть в декоратор
@mcdba41
@mcdba41 4 года назад
спасибо
@user-lt9ft1mi9h
@user-lt9ft1mi9h 4 года назад
composition over inheritance это хорошо очень хотелось бы от тебя курс по ramdajs очень не хватает на рускоязычно ютубе
@zuber_5734
@zuber_5734 4 года назад
Класс
@alexeleave4551
@alexeleave4551 4 года назад
A common composition pattern in JavaScript is using object composition. It combines the power of objects and functional programming. Всегда пытался понять, как такой подход правильно называется в мире программирования, теперь знаю - Композиция :)
@alexhere1
@alexhere1 4 года назад
12:07 Олег на все берется смело...
@user-gf7zh5ry3h
@user-gf7zh5ry3h 4 года назад
Прикольненько
@TheWorldPeace
@TheWorldPeace 4 года назад
Второй вариант можно реализовать через prototype?
@user-mu8yz5wo5b
@user-mu8yz5wo5b 4 года назад
Ждем контент по вью !!!
@VladilenMinin
@VladilenMinin 4 года назад
Во вторник)
@diexrosl9728
@diexrosl9728 4 года назад
Чем композиция может выделиться на фоне миксинов ?
@BlackIce31337
@BlackIce31337 4 года назад
как ты ставишь обратные ковычки на маке в пхпсторме? :)
@user-jv5fx4se4o
@user-jv5fx4se4o 4 года назад
Больше видео о архитектуре
@yuliyabatrakova2743
@yuliyabatrakova2743 4 года назад
Ролик супер! Жаль, что не могу 50 claps поставить, как на Медиуме :)
@vladyslavvovk
@vladyslavvovk 4 года назад
Привет) Подскажи плиз. Начал учить реакт. Берут сейчас в большую фирму, входит в топ моей страны, но по началу будет поддержка легаси и нужно будет учить ангулар. Реакт продолжать учить, или в таком случае будет намного правильней сделать весь упор на ангулар? Кстати спасибо, готовился к собеседованию по твоим роликам и успешно его прошел)
@VladilenMinin
@VladilenMinin 4 года назад
Я за то, чтобы все учить) Это не противоречит друг другу и позволяет лучше понимать работу
@vladyslavvovk
@vladyslavvovk 4 года назад
Владилен Минин спасибо, пойду твои видосы по ангулару смотреть)
@o.voytyn
@o.voytyn 4 года назад
Если ты натаскаешся на Ангуляре (я надеюсь мы говорим за Ангуляр 2-9 а не Ангуляр.js) то потом легко войдеш в Реакт.
@vladyslavvovk
@vladyslavvovk 4 года назад
Олег Войтинський да да, не о старом)
@Nikita-hr6ss
@Nikita-hr6ss 3 года назад
А как можно по-другому решить подобную проблему наследования в классах без использования дублирующего кода?
@wisehannel9190
@wisehannel9190 4 года назад
Владилен даже на отдыхе качественно пилит)
@user-yx4ov2xx8s
@user-yx4ov2xx8s 4 года назад
👍👍👍👍👍
@user-yw9wx4lv2w
@user-yw9wx4lv2w 4 года назад
Но ведь это больше похоже на миксины. И есть проблема с тем что можно переопределить метод уже имеющийся в объекте. В то время как вью компощине апи не имеет такой проблемы
@user-qv4hn6qq4n
@user-qv4hn6qq4n 4 года назад
Владилен, а не кажется ли вам, что это подозрительно сильно похоже на смесь паттернов фабрика и стратегия?
@user-QesOrwuMqN
@user-QesOrwuMqN 4 года назад
Согласен, шаринг логики при композиционном делается в основном через паттерн стратегии
@apanchuk
@apanchuk 4 года назад
Почему в классах точно так же не вынести функцию за пределы класса и в методе просто ее использовать? Или как ООП справляется с такой задачей?
@Qwertysmiky
@Qwertysmiky 4 года назад
Ничего не мешает, вопрос лишь в идеи/чистоте кода. Если есть какая-то функция, которая отлично выполняет свое действие, зачем ее вносить в метод класса, тем самым дублировать логику? Советую ознакомиться с SOLID, YAGNI и DRY принципами. А также использовать паттерны и прочие подходы осознано и только там, где это нужно.
@user-en7im5dn4c
@user-en7im5dn4c 4 года назад
В ООП для решения этой проблемы используются трейты, например в php www.php.net/manual/ru/language.oop5.traits.php . Но увы в JavaScript их не завезли... Их можно было бы легко реализовать через TypeScript, но как-то не удалось github.com/Microsoft/TypeScript/issues/311 , поэтому остается довольствоваться примесями (Mixins)
@puhd4167
@puhd4167 4 года назад
Тоже самое можно сделать с наследованием, просто немного извратится
@user-kf7xl2gh1q
@user-kf7xl2gh1q 4 года назад
спасибо за урок конечно но по мне так в ООП понятно что происходит а тут мне страшно становится) не понимаю ещё такой синтаксис const programmer = { name } и это тоже непонятно как работает function myfunct ( { name } ) { } сама передача параметров с фигурными скобками озадачила как это работает ?
@user-bx7ly2th3b
@user-bx7ly2th3b 4 года назад
const programmer = {name: 'Alex', age: 20} запись вида const {name, age} = programmer равносильна записи const name = programmer.name, age = programmer.age надеюсь это поможет вам понять)
@alexanderakhtyrtsev5776
@alexanderakhtyrtsev5776 3 года назад
проблему с наследованим можно было бы решить с помощью трейтов или интерфейсов, но к сожалении в жс пока нет полноценного ооп... (
@faramozayw1654
@faramozayw1654 4 года назад
Приватные поля немного по-другому выглядят: v8.dev/features/class-fields
@mist5322
@mist5322 4 года назад
Похоже немного по замыслу на HOC.
@DanReksar
@DanReksar 4 года назад
Спасибо!)
@slavailchenko8020
@slavailchenko8020 4 года назад
Привет))). Такая любовь к фронтендерам. Все с именами людскими, одни фронтендеры - нонейм)))
@VladilenMinin
@VladilenMinin 4 года назад
Уверяю, что любые совпадения - случайны)
@slavailchenko8020
@slavailchenko8020 4 года назад
@@VladilenMinin та все ок)). я больше на бэке)))
@mgrm7031
@mgrm7031 4 года назад
Будет ли ролик про принципы Solid
@VladilenMinin
@VladilenMinin 4 года назад
Да
@oleksandrsydorenko3303
@oleksandrsydorenko3303 4 года назад
Это примерно как интерфейсы и класы в java?
@alexkoptev
@alexkoptev 4 года назад
В java множественное наследование не поддерживается из-за Смертоносного Ромба Смерти. Поэтому второй и последующий родители через интрефейс реализуется.
@volodymyrberestovskyy4935
@volodymyrberestovskyy4935 4 года назад
Комментарий для продвижения видео)))))
@user-fn6og3sq3n
@user-fn6og3sq3n 4 года назад
Будут видео про паттерны разработки?
@VladilenMinin
@VladilenMinin 4 года назад
На канале есть
@user-fn6og3sq3n
@user-fn6og3sq3n 4 года назад
@@VladilenMinin Сори, это я слепой.😅 искал плейлист с названием паттерны или что-то типа того.
Далее
SOLID Принципы в JavaScript
1:15:00
Просмотров 214 тыс.
Как дебажить JavaScript. Chrome DevTools
59:34
Урок 17. JavaScript. Все о LocalStorage
16:39
Просмотров 148 тыс.
Агрегация и Композиция
19:49
Просмотров 56 тыс.
TypeScript - Быстрый Курс за 70 минут
1:08:00
Какой полиморфизм в JavaScript?
14:43
Функции pipe и compose в Javascript
8:45
Просмотров 1,2 тыс.