ООП на простых примерах. Объектно-ориентированное программирование
Vložit
- čas přidán 30. 05. 2024
- ООП простым языком. Основные концепции объектно ориентированного программирования. Объекты, классы, инкапсуляция, полиморфизм, наследование, композиция, агрегация, интерфейсы, паттерны, solid, dependency injection.
Мой курс "Продвинутый Frontend. В production на React" - ulbitv.ru/frontend
Таймкоды:
00:00 ➝ Введение .
00:55 ➝ Отличие процедурного подхода от объектно-ориентированного.
02:10 ➝ Классы. Объекты. Свойства. Методы. Конструктор.
04:40 ➝ Инкапсуляция и сокрытие. Модификаторы доступа.
11:50 ➝ Наследование.
16:40 ➝ Полиморфизм. Параметрический и ad-hoc
23:00 ➝ Агрегация и композиция.
26:35 ➝ Интерфейсы и абстрактные классы.
32:30 ➝ Внедрение зависимостей. Dependency injection
37:10 ➝ Паттерн singleton
39:00 ➝ Время ставить лайки и писать комментарии :)
Мой канал в telegram и канал для общения подписчиков - t.me/ulbi_tv
Поддержать меня и мой канал вы можете по ссылкам ниже.
Patreon/boosty (доступ к бонусам) - boosty.to/ulbitv
Qiwi кошелек - qiwi.com/n/BODYE821
Яндекс деньги - yoomoney.ru/to/4100116193037469 - Věda a technologie
хоспаде! Наконец то хоть кто то потратил время и силы, что бы на монтаже вырезать набор кода, оговорки, вздохи и чавканье! Это в принципе лучший обучающий материал по программированию, который я видел! Огромное спасибо, очень приятно смотреть и слушать!
U
W
U
Спасибо! Я новичок, мозги "закипели", но при наличии множества новых слов, суть понятна на первый взгляд. Уверен, после нескольких просмотров, всё встанет по местам ;)
@@dunakovskyigor852 зачем мне приходит уведомление если вы отвечаете не мне собственно
Ютуб порекомендовал мне это видео сегодня. Видимо, это из-за того, что я искал "белый шум" для медитации и остановки внутреннего диалога.
Гражданин, Вы просто таки превратили ООП, сложившегося в мозгу в непонятную мешанину, в информационную конфетку. За Ваш труд и доходчивое объяснение паттернов можно поставить памятник при жизни. Вы огромный молодец! Карма у вас будет строго положительной.
Игорь, спасибо! Рад, что понравилось
Привет, есть видео на основе Java?)))
привет, чисто из интереса вопрос, зачем сейчас изучать ооп ,если давно уже перешли на функции? я имею ввиду, что сейчас же уже и нигде его использовать
@@true7991 так в JS все равно всё есть объекты. Для понимания того, как это работает.
@@redheroteam ну если только для понимания,то да,а так считай никогда его и не используешь
Чёткий Человек! У него всё четко! Спасибо тебе огромное! что не водой кормишь,а полноценным наваристым супом понятной информации.Как долго я тебя искала, как долго я тебя ждала🤗🥰
Очень приятно!) спасибо, и приятного аппетита 😂👍 (я про супчик)
@@UlbiTV 🍜🤤🧠
Это лучший материал по ООП, что я встречал за последние 3 года. Спасибо за труд и мастерство повествования.
Старался! Спасибо!
К тому же и доступно, наглядно. Вспоминаю, как это было в универе и какой же кошмар там был, ужас.
и чем же лучший?
Объяснять инкапсуляцию на геттерах и сеттерах это худшее что можно делать
Потом такие люди приходят в компании и пишут по сути ту же самую процедурщину, но с подтипированием
@@gogenmogen3562, что-то не нашёл у тебя лучшего материала по ООП. Засранец что ли? Любишь гадить в комментариях?
@@user-eo5tg9gk5v Я уже десятки раз говорил про ООП людям в чатах, еще раз объяснять тебе смысла не вижу, особенно видя твою реакцию
Можешь дальше херачить хендлеры сервисы и пожо и думать что пишешь в ООП
За половину пары объяснил половину семестра. Респект
Согласен с Kain Akuma. Лучшее видео про ООП! Давно такое искал именно такое, информативное!
Спасибо!
Это лучший материал по ООП, что я встречал за последние 6 лет
"Елочку-освежитель на шее" )))) Молодец, с чувством юмора все ОК )))) Инфу донес!!! Супер, как всегда!!!!
Как вы можете не любить человека, который сделал видео про ООП, чтобы вы послушали
😂❤️
тот случай когда, читал/учил но плохо себе представлял что это и как выглядит. Вроде бы уже и начал писать код, применяешь ооп, агрегацию и т.д. но даже не подозреваешь об этом, что это имменно оно, просто знаешь что так можно и нужно делать и всё.
После видео приходит осознание и понимание, всё становится на свои места!
Просто потрясающий ролик!!! , с ПРОСТЫМИ примерами, понятными для восприятия. Спасибо!
У меня вообще нету знаний, в программировании, но посмотрев это видео много чего понял, а если не понял, включил ещё раз видео, и ещё раз. Даже не искал другое видео. Спасибо тебе, очень круто.
Отличиное видео! Коротко и наглядно. И очень важно - качественное. Без всяких там беее, меее, чвяканий и куяканий. Четкая речь и все по делу. Таких качественных видосов на ютубе с гулькин клюв к сожалению.
Стараюсь друг, стараюсь:)
Спасибо за простые примеры, разжевал ООП, dependency injection. Делаешь много для рускоязычного ютуба, спасибо ещё раз.
Кажется оговорка на 25:32, хотел сказать "вызываем drive у машины", а сказал "вызываем drive у колеса"
Узнал из этого урока больше чем знал до этого. Хотелось бы еще видео про патерны проектирования.
Я с Си, перехожу на С++. И ООП в вашем изложении понятен. Благодарю.
Единственное, когда вы показываете код, то на мобилке его не видно (мелкий). Хотя вам достаточно Ctrl+колесико его увеличить :)
Ибо на компе не всегда есть возможность смотреть.
Если бы подобное объяснение увидел в книге по с++ основ ОПП, когда только начинал изучать, отдал бы все заначки автору
Добавлю: ради будущих подобных материалов для будущих разработчиков, теперь закину заначку от жены😀
В первый раз вижу такой интересный и главное понятный ролик по ооп, очень понравилось
Очень рад, что получилось интересно!
Знаете почему я люблю C# в нем вот офигенно вот просто красота. Ты видишь что ты объявил, что ты подключил у него можно наследовать много классов. Я считаю си шарп одним из самых красивых и аккуратных языков программирования:)
Который списали с Java, где вся та же красота есть.
Четко, логично, лаконично, по существу, с примерами. Качественная структура и оформление материала. Спасибо большое!
Жаль что админ канала frontend разработчик . Спасибо большое, хоть на языке тайпскрипт написал код, но почти все понятно и доступно )))
Чёткость и последовательность наглядность ( белым по чёрному) ничто не отвлекает от преподнесенной мысли класс!Лайк!
Норм. Устраивает и подача, и дикция. Хотелось бы чуть больше примеров, но это личное предпочтение.
Дружище ты просто Учитель , учителей !!! Я не знаю даже что сказать ....ПРОСТО ЛУЧШИЙ !!! Спасибо за твою работу!!! очень всё доходчиво объяснил . не в обиду за комент ниже .
Как раз были пробелы в ооп, думаю у всех начинающих фронтендеров есть с этим проблемы. Спасибо!!!!
Ещё и у всех qa-шников:)
Это вселенная помогает мне.. Завтра собеседование, оч плавал в теории, а тут этот видео как послание свыше. Подача - огонь.
Как прошло?
@@DubinArtur пока не тяну на автоматизацию, сижу в мануальных учу дальше...
я в шоке на сколько ты красава, теперь у меня многое разложилось по полочкам)) Спасибо!!!
я послушался твоего совета и сегодня посмотрел еще раз. Написал три страницы заметок. И теперь у меня еще больше разложилось по полочкам)) Спасибо тебе еще раз! Ты очень круто, доступно и понятно излагаешь материал.
Годный материал, с помощью этих примеров я понял то, что давно читал в книжках, программировать не программирую, а читать читаю, пробовал программировать чуть что пошло не поплану пару часов попытаюсь исправить, пойму что ничего не выходит и бросаю, хотя уже и складывается ощущение что я это уже где-то видел или слышал)
Возможно это видео и не наберёт сотни тысячи просмотров, но больше спасибо за проделанную работу. Ты очень помог и мне, и судья по комментариям и лайкам, другим тоже.
Спасибо! Рад слышать)
Жжхээээээээ
Пишу чтобы поблагодарить автора за труд, картинки и крупный шрифт радуют и облегчают, радует всё лучше и лучше подача материала, спасибо и успехов в вашей не лёгкой работе, донести сложное для твёрдых лбом и туповатых умом.
Рад, что замечаете мелочи, стараюсь, правда:)
Удивился, когда увидел, что преподаватель включил твоё видео на паре, спасибо за творчество.
Не, ну молодец, навел небольшой порядочек в моем отчаявшемся джуниорском мозгу. Лайк, подписка!
Люто плюсую и подписываюсь! Очень понятный контент, даже для такого тормоза как я!
лучший канал по программированию, почему так мало подписчиков?
Двигаемся потихоньку с вашей помощью
Это идеальная подача материала! Я узнала и поняла из этих 40 минут гораздо больше, чем за курс ООП в колледже. Спасибо Вам большое за контент!!!
Идеальная? Может быть для таких людей, у кого это было недавно в колледже, но не для тех, кто с этим никогда не сталкивался.
@@sushinskiy как успехи
Шикарный материал, местами мне приходилось задумываться из-за синтаксиса, в Java он немного отличается, но в целом всю суть я уловил. Огромное спасибо.
Прошу прощения за глупый вопрос. То есть в Java ООП так же построенo, как и в объяснении на видео?
@@alexandrmakedonskiy2436 я недавно java изучаю и насколько могу судить, если не брать в учет небольшую разницу в синтаксисе, то все совпадает на 100%
Лучший!!! 1 год в университете научил меня меньшему чем ты показал на ролике. То чувство, когда лайк подписка коммент заслуженный. Даже стыдно что ничего больше сделать не могу XD. Го пройдись по паттернам мне кажется залетит. Спасибо
Спасибо братец:)
Мне уже самому смешно, что я постоянно захожу на твой канал, в надежде что там будет новое видео, раз в два дня точно это делаю, и каждый раз радуюсь, когда в рекомендациях всплывает новое видео! Наглядные примеры и качественное объяснение, высокий уровень! Спасибо!
поставить оповещение на новое видео не судьба?)
@@ilovecameltoe колокольчик всегда подводит
ты невероятно талантливый парень очень доходчиво всё объясняешь))
Я один из многих, кто оставляет комментарий под этим видео для его продвижения, так как это шедевр!
Это самое понятное объяснение ООП, которое я когда-либо слышал. Да ещё и на JS. Очень хорошо, что ты всегда объясняешь на понятных и наглядных примерах, а не как в учебниках тупым текстом. До этого никак не мог понять суть ООП, а сейчас более чем понятно
ts
Ой ляяяяя, на сколько же хорошое видео. Как всё чётко и по полочкам обьяснил, спасибо большое
пересмотреть видео нужно,
потом может и получится сформулировать вопросы по тому в какое состояние ООП привело меня )))
и наверное удастся задать точные и ясные вопросы,
пока что,
Спасибо!
Все слишком положительных отзывов, но и просто так не стану докапываться. В целом по ООП - раскрыто, доступно и годно. Но теперь я пошел в негатив: typescript строго типизированный, автор где типизация!!! Где проверки на тип возвращаемых значений функций! Код должен быть чистеньким для желающих обучаться, согласись, что прививать хреновый стиль - это не хорошо))) а в остальном всё хорошо, и я ставлю лайку!!!!
Открыл видео, на паузу, лайк, смотреть!)
Спасибо), реально крутой канал
Тимур, большое спасибо!
сегодня к просмотру!
очень жду redux tool kit !
На канале есть про redux toolkit
@@user-iw5pq9lt4f Тимур новое готовит знаю)
@@user-yr3ub5gp3t ок, тогда ждем!
На первый раз ничего не понял но было интересно ! Буду еще раз пересматривать и не один раз! Чётко рассказываешь!
Функции и процедуры это разные вещи.
В остальном молодец, еще нужно про IoC контейнеры рассказать
Качество твоего контента всегда мотивирует на изучение нового, как всегда лайк, и не останавливайся)
Спасибо!
Давно не мог точно понять что такое ООП. Были только заученные определения. Просмотрев это видео ни как не мог понять, почему я не наткнулся на него раньше? А оказывается оно вот-вот только вышло. Отличная подача и объяснение материала
как же доступно он объясняет... я всячески избегал тему ООП, побаивался за нее браться. но вот чувствую, что пришло время разобраться и нахожу этот потрясающий ролик! ща чуток передохну, закреплю тему и пойду про SOLID смотреть)
Про параметрический полиморфизм хорошо объяснил.) Я В первой половине этого года почти так же себе в тетради это описал.)
чот улыбнуло) с "привет, я прогер Евпатий".
спасибо за видео
😂
Посмотрел. Очень качественный видос! Надо п больше подобного. Спасибо!
✊🏻✊🏻
ООП с примерами это хорошо. Автор все понятно рассказал.
ничего лишнего, все кратко и понятно с отличными примерами
Напишу здесь коментарий, чтобы ютуб счел это видео более полезным.
Сработало)
Согласен
Оно и есть полезное)
Пожалуй присоединюсь)
Плюсую )
Хотим видео о SOLID и GRASP : )
Томас хватить кодить, едь на премьеру фильма про тебя
@@musabutusofwriter8102
Просто Томас хочет узнать как переписать матрицу, ведь это говно написано на бафнутом С без ООП и на линейном алгоритме .
Солид простенький для понимания, просто запомнить надо
Подписчиков должно быть в разы больше. Супер контент.
Одно из немногих, достойное видео. Все доступно для понимания, также отдельная благодарность за примеры, которые действительно облегчают осознание теоретической части )
Вот недавно полуторачасовой ролик по продвинутому бэкенду смотрел.
И тут выходит этот ролик, для меня как продолжение, более подробное объяснение DI и interface.
Вот прям как знаешь что нужно) Спасибо огромное!
ЕЕЕ. Свежий видос по ООП. Задолбался смотреть видео 100ней давности
самое понятное объяснение за максимально короткое время, без воды, спасибо
блин, мужик, как же ты доходчиво поясняешь!!!
Каждое твоё видео, это как праздник
Дядюшка Боб аплодирует) Молодец, хорошо рассказал, по сути и без воды. А то, что решил абстрагироваться от языка верное решение, не то бы сейчас посыпались коменты "Почему не Java/C#/C++/Python и прочие") Лайк🔔👉❤
На мой взгляд, максимально понятно для восприятия преподал материал. Хоть с первого раза не удалось понять интерфейсы и абстрактные классы, однако я понимаю, что лучшего объяснения я не найду. Спасибо, однозначно лайк!
Вот блин, я плюсы ради этого учить начал, а оказывается кто-то по родной жске урок снял. Выглядит многообещающе, надеюсь будут примеры использования и рекомендации на тему "где стоит, где нет". Пошёл смотреть.
Что я могу сказать - понял и зачем нужны геттеры\сеттеры, хотя не раз и не два читал про них статьи, понял зачем нужны классы и в каких случаях их имеет смысл использовать. Как резюме пройденного самостоятельно материала видео подходит отлично, позволяя закрыть белые пятна.
Само собой для того чтобы писать свою классовую логику этого не хватит, но может оказаться очень полезно на старте, хотя бы для понимания того как принято решать те или иные задачи.
Короче годнота.
Очень качественный контент
Хорошо, со всех аккаунтов пересмотрю)
Вот это правильно ❤️✊🏻
Нормальное объяснение. Я, как прогер на С++, одобряю.
Наследование с полиморфизмом очень хорошо подходит при реализации каких-нибудь GUI или графических движков. Прямо вообще идеал.
Родительским классом является сущность, вроде "графический объект, который надо нарисовать". Но если у нас разные объекты, которые нужно рисовать по разному, то мы наследуемся от родительского класса и в классе-потомке переопрелеляем метод "Нарисовать". Бывает так, что объекты нужно нарисовать в правильной последовательности. Иногда нужно исключать и включать из очереди рендеринга целые группы объектов. Тогда строятся деревья родительских объектов. И механизмы работы с деревьями можно встроить в сами родительские объекты.
Например, объект "Окно" содержит внутри массив (или лучше связанный список, если это язык с ручным контролем памяти, как С++) подчиненных объектов того же типа. Метод "Нарисовать" рисует сначала сам объект, потом массив подчиненных. Тогда вызвав у окна метод "Нарисовать", сначала нарисуется прямоугольник окна, а потом и все его элементы управления, вроде кнопок, полей ввода и других вещей.
И это всего лишь один пример практического использования парадигмы ООП.
Страуструп в своих книгах ООП как раз на примере графики рассказывает именно таким образом.
Это верно, но корректнее говорить не о полиморфизме, а о позднем связывании как о способе динамический диспетчеризации вызова метода. Именно это и является ядром ООП. А полиморфизм это уже его применение. (Формально говоря, полиморфизм возможен и без этого, но это уже патологический случай, можно его не рассматривать как тривиальный, да и практически малоприемлемый.)
Вообще наиболее обычное преподавание ООП меня ни в какой степени не устраивает. Я имею в виду, когда инкапсуляцию, наследование, агрегацию объясняют как набор атрибутов ООП, в одну линеечку. А вообще-то одни выразительные средства являются условием других, нельзя их мешать в одну кучу. Понятно, что постоянно встречаются умельцы, которые используют и class и даже virtual, a ООП и не пахнет. Я нередко с такими сталкивался, хорошо ещё, что работать с такими не приходится.
Но на более раннем этапе даже достаточно популярные коммерческие библиотеки такие встречались, с фейком ООП, хотя в это даже поверить трудно.
Это самое лучше объяснение ООП, что я видел в своей жизни…
Как раз ООП хотел повторить)
Большое спасибо автору за тайм-коды, легко найти нужный раздел. Конечно лайк)
Лучшее видео по ООП для новичков из всех которые я видела
Всегда. ВСЕГДА И У ВСЕХ - не хватает информации - как, где и когда это применять.
Т.е. я узнал много нового и интересного - а теперь мне нужна дюжина примеров - где это применить.
Т.е. я после просмотра этого видео - буду что-то писать и НЕ УВИЖУ что тут нужно применить, например композицию.
Когда говорят, что для обучения программированию "нужен менторинг" - то нужен он именно для того, чтобы посмотреть код и сказать - "здесь делай композицию, а здесь примени синглтон". Но эта "передача опыта" вполне заменяема набором примеров - взглядом с разных сторон, на то, как один принцип реализуется в разных ситуациях.
Автору - в любом случае - большое спасибо и не мне ему говорить, чтобы он делал больше и лучше, хотя было бы неплохо =)
Просто я вижу, что можно сделать... вернее - нет принципиальной НЕвозможности сделать - такой обучающий материал - чтобы прям, как в матрице - загружалось в мозг и сразу работало 😶🌫
А ещё... по-мелочи. Меня очень путает, когда одно и то же называется разными словами.
В данном ролике я бы заменил все "объекты" на "экземпляр класса" - потому что это более однозначно.
"Объекты" бывают разные - а "экземпляр класса" - это сразу понятно что про ООП и про new Class()
А ещё... по-мелочи. Меня очень путает, когда одно и то же называется разными словами.
В данном ролике я бы заменил все "объекты" на "экземпляр класса" - потому что это более однозначно.
"Объекты" бывают разные - а "экземпляр класса" - это сразу понятно что про ООП и про new Class()
Вот это крутой ролик) хотелось бы ещё большой урок по паттернам )
+1
+1
+1
+2
+1
этот канал заслуживает минимум 100к
Спасибо за видео. Люто присоединяюсь ко всем тем, кто уже в комментариях попросил отдельного видео про паттерны проектирования с примерами!
Респект автору! Каждая секунда информативна! Полное отсутствие воды! Продолжай в том же духе!
Невероятная планка контента, все как обычно! ООП простым языком!
Отличный ролик.
Просьба - сделай полностью проект с процедурным подходом.
никогда не понимал тайпскрипт, а тут прям интересно стало и что-то понял по нему, спасибо
Узнал много нового, хотя до этого смотрел видео про ООП.
Из пожеланий: ты пропускаешь некоторые слова которые важны новичкам для более четкого понимания. В целом мысль формулируешь четко но пропускаешь слова которые очевидны для тебя (и ты пропускаешь) но совершенно не очевидны новичкам.
За видео лайк!
Спасибо тебе огромное! Ты единственный, кого я смогла понять!
Значит не зря старался :)
Спасибо за видео. Приятно смотреть
Это лучшее, что я видел и слышал за свою жизнь!
для людей немного вошедших в програминг это будет более менее ясно и понятно, но абсолютно новеньким людям надо объяснять языком немного не таким сухим как в видео и приводить более приземленные аналогии. я понимаю, что это видео не претендует на обучение с 0 или детей, но все же в ооп главное - это самая простая абстракция )
Объяснено доступно без воды и нудятины.
Спасибо за ролики, которые делаешь
ООП простым языком, это шикарно!:)
Благодарю! Добавил видео в сохранённые с соответствующей тематикой, чтобы перепросматривать с обретением опыта. Очень здорово всё!!
Просто и понятно. Пожалуй лучшее объяснение ООП из тех, что я видел/слышал/читал. Отличное видео, спасибо!
Спасибо огромное, пока не все понял, но твой канал бомба!
Доступно, понятно, с примерами. Класс! Лайк! Аплодисменты)))
Определенно самый понятный видос по ООП)) Огромная благодарность)
Из этого видео узнал об основах ООП больше чем за 3 года обучения=) Шикарный материал
Благодарю, очень модно
Да, все очень понятно - без воды, лишних слов, просто и по делу, это и урок для других преподавателей как надо правильно готовиться к записи)) Спасибо!
Это то, что я искал, самое понятное объяснение ООП к 2021 году, спасибо
Смотреть позже
Ты точно за мной не следишь?
@@wingdings1476 da
😢
Пако, привет спустя 11 лет после группы ваномаса)))
@@WeSquared хех ку