Просто о ООП (Парадигмы ООП)

preview_player
Показать описание
#YauhenK #webDev #ПростоО #OOP

Добро пожаловать в очередной выпуск видеокаста, «Просто о».
И тема сегодняшнего урока - это парадигма объектно-ориентированного программирования. Основная идея данного видео, максимально просто и с наглядными примерами дать объяснения основным понятиям ООП.
Мы рассмотрим такие концепции, как объект, класс, экземпляр класса, наследование, инкапсуляция, полиморфизм, абстракция, интерфейс, композиция и агрегация.
Примеры кода будут на TypeScript и Javascript, однако имейте ввиду что все концепции и парадигмы применимы практически к любому языку программированию

✒ Timeline:
✔ 0:00 - Введение
✔ 1:01 - Процедурное программирование (ФП)
✔ 2:17 - Объектно-ориентированное программирование (ООП)
✔ 2:43 - Объект
✔ 3:51 - Класс
✔ 5:40 - Экземпляр класса
✔ 6:47 - Наследование
✔ 8:47 - Инкапсуляция
✔ 11:02 - Полиморфизм
✔ 13:53 - Интерфейс
✔ 15:57 - Абстракция
✔ 17:47 - Композиция
✔ 19:41 - Агрегация
✔ 20:48 - Рекомендации

✒ Полезные ссылки:

✒ Полный список готовых и планируемых курсов:

✒ Автор курса:

Рекомендации по теме
Комментарии
Автор

Большая тебе благодарность! Приятно смотреть: всё просто, понятно. Пожалуйста, продолжай! Ты делаешь нашу жизнь лучше: я углубился в понимании ООП)

leksts
Автор

Так вот какое видео об ООП я ждал все это время... Ютуб чик, подключай алгоритмы - годно та.

lis_petrovskij
Автор

Замечательное объяснение без использования сложных конструкций, коими пытаются донести ИИ и поисковик.

my_babyy
Автор

Евгений, как всегда просто и понятно о сложных вещах, у Вас талант!!!

serhiilytvyn
Автор

Спасибо вам огромное! Это то, что нужно! Ваше видео помогло собрать в кучу всю информацию, которая была в голове кусками.

ИринаТоболич-хн
Автор

В примере с наследованием на 8:30 после переопределения this.model = `${model} Model`; и вызвав родительский метод teslaAuto.getAutoType() мы получим
//Tesla 3 Model - 2019, а не //Tesla 3 - 2019 как на скрине у ТС.
Видео класс, спасибо автору.

vitaliilushyn
Автор

Очередной раз убедился, что ты один из немногих, который действительно может доступно, доходчиво и главное интересно объяснить! Спасибо огромное, за то что ты делаешь!

aleksp
Автор

Сколько я видео пересмотрел об ООП, твоё самое лучшее, понимание приходит просто моментально! Спасибо тебе огромное!

Kozmo
Автор

Лучшее объяснении ООП👍 Вопрос зачем это спрашивают у React разработчиков)

basmong
Автор

Оказывается ООП еще надо подучить ))) огромное спасибо за материал!!

vr
Автор

В очередной раз благодарю за педагогически доходчивую подачу материала 👌

dilyafruzik
Автор

Шикарное объяснение! ООП стало еще понятней. Лайк, репост!

masaladosa
Автор

Отлично, от тебя и ждал так как все понятно и просто обесняешь)

Mix-opif
Автор

Спасибо, давно ждал такого хорошего урока по ООП на примере JavaScript.

dimalukashenko
Автор

Спасибо за твои труды! Шикарное видео!
Как все просто на самом деле! Столько разных роликов на эту тему и книг, а понять что-либо из них крайне тяжело. Все заумно и запутанно. А здесь и просто, и понятно.
Евгений, у тебя явно талант преподавания! Может стоит этим заняться профессионально?
PS: очень не хватает именно твоих уроков по алгоритмам и структурам данных, желательно на примере JavaScript. Уверен: желающих на эту тему будет немало.

alexanderalexander
Автор

Прекрасное видео, обычно не оставляю комментарии, но здесь никак иначе, продолжайте в том же духе! п.с. из этой серии посмотрел бы такое же видео про ФП, может быть интересно

konstantin
Автор

Один из лучших видосов про ооп, коротко, понятно, без лишней воды и тягомотины. Автору спасибо !

SM-xptw
Автор

Очень долго ждал подобное видео с твоей подачей, спасибо большое)

Kiddjan
Автор

Спасибо, за твои уроки. С удовольствием смотрю.

Немного уточнить хотел. На 20:27 в последней строке const mi8 = ....
Там наверное ты хотел указать new Helicopter(... ?

webxcryptoit
Автор

9:14 При обращению к классу подобным образом консоль выводит undefined (за исключением Auto.name = "Auto" имя класса), в TS вообще так обратиться нельзя. А даже если найдется пользователь который через инструменты разработчика найдет наш класс и что-то там поменяет, какая разница ведь при перезагрузке страницы все сбросится. То же самое если пользователь нажмет f12 и начнет удалять теги.
Концепция инкапсуляции занятна, но разве она широко относится к JavaScript? Может что-то не понимаю, но по ощущениям вся инкапсуляция в js сводится к не использованию метода eval в пользовательском вводе.

Полиморфизм - зачем нам создавать несколько дочерних классов с одним и тем-же методом и из них брать метод родительского? Можно на основе класса Auto создать объекты, скидать их в массив и так же проитерироваться по элементам с вызовом функции. Эффект тот же, кода и путаницы меньше. Или это своего рода диверсификация активов?)

swayze_