Александр, спасибо! Самое лучшее объяснение ООП на действительно понятном живом примере. Без дурацких Кроликов, наследуемых от Животных, и Красных Машин - от Машин вообще. 35 минут удовольствия для ушей и мозга! :)
Дружище, ты очень круто объясняешь! Так держать! С удовольствием смотрю твои ролики, давно на тебя подписан и всегда жду новых роликов. Не бросай только канал )
Александр у вас талант обьяснять, сколько я перелопатил в интернете никак не мог понять что это за чертовщина и как ее применять, а тут за первые 15 минут я узрел истину , браво учитель.
Александр, здравствуйте! Слежу за вашим каналом с перерывами уже почти год, посмотрел многие Ваши видео и хочу выразить благодарность за такую хорошую подачу информации. Именно Ваши уроки помогают мне отвлечься от сухой теории и познать многие моменты на практических примерах. Вы подаете информацию так, что ее довольно таки просто усваивать. Кроме того всё подаётся так, что с каждым новым видео интерес к программированию увеличивается все больше и больше. Спасибо Вам огромное!
Я классы ещё не изучал вовсе, однако, мне ясно о чём это видео и как это работает - объяснение отличное. Спасибо) Полезу в документацию и посмотрю видео ещё раз 🤝 .
Спасибо за этот урок. Очень полезно слушать про ООП от того, кто профессионально использует ООП. Мне урок зашел, видимо потому, что я уже писал на ООП на С++ и в Python. От меня этого не требуют, но мне интересно для общего развития. Только спустя пару месяцев, я начал понимать, что ООП - это очень круто, особенно, когда надо было модернизировать код. А есть такие проекты, где без ООП вообще никак. Так что тема важная, подана толково, еще раз благодарю)
Уже 43 тыс. подписчиков!!! 👍👍👍 Совсем недавно было 40, когда стикеры запустили. Значит наша поддержка работает, а вы делаете классные видео и курсы. Прогрессируем вместе!💪
В Delphi есть хорошее правило: все классы начинаются с большой латинской T. И их видно в коде сразу (при условии, конечно, что программист все остальные переменные и объекты называет не с этой буквы).
Я так понимаю, JS интерпретатор классы не загружает вначале как это он с функциями делает? Они должны быть обязательно объявлены в коде перед использованием?
Часто при использовании функционального подхода результатом вывода присваивают true или false есть желание при неудаче то есть false выводить причину в виде exception какого то исключения что бы понимать что пошло не по плану. Как я понимаю это возможно только с классами при создании поля отвечающего за исключения?
Спасибо огромное! Лично мне всё понятно, интересно. Сейчас занимаюсь созданием нейросети, а именно генетического алгоритма, и на 150 + строк одни методы (и ещё столько сама реализация алгоритма) и всё в одном файле. Есть вопрос: я JS код запускаю не в браузере а через node, как импортировать файлы классов?
Я вот скачал один слайдер на jQuery, и понял что просто так в боевом проекте на смогу использовать, потому что мне нужно инициализировать его несколько раз, а код написан в процедурном стиле, так что мучаюсь переписываю под ООП, чтоб как в крутых плагинах создать новый объект слайдер1 от класса слайдер и настраивать его как нужно, и генериться он будет в js что бы добавляя новый слайдер не париться о копировании тегов и идентификаторов и тд, надеюсь у меня получился
Кто изучал Java просто будут щёлкать ООП. Кстати если хотите полное и просто объяснение про ООП и почему он в 1000 раз лучше функционального программирования - советую прочитать главу про ООП из книги Head First Java (не JavaScript)
На практике круто объяснять - я в свое время когда учил ООП чуть крыша не поехала. Приводили примеры наследования разными алегориями - типа вот есть класс Зверь - это родительский класс для всех остальных - у них есть общие свойства - кровь, лапы, шерсть и т.д. А дочерние классы это зайчики, лисички, волки и т.д - они наследуют класс Зверь и все его свойства + у каждого свои добавляются шерсть черная, уши длинные, скорость движения, и методы одни бегают, другие прыгают, третьи ползают. НАсмотрелся этой хрени - а потом делаешь какой то проект - а там уже нет зайчиков и лисичек - там есть элементы страницы или данные с которыми надо работать - сидишь тогда и думаешь а что же такое сущность и как работать с классами - где их применить. Может класс это вся страница - а все манипуляции на ней это методы - типа открытие меню, нажатие на кнопку, или может сущность это отдельно меню, отдельно кнопка, отдельно слайдер. Короче крутая идея доносить ООП практическими примерами - а не каким то теоретическим бредом.
@@liubomyr-peteliuk та да, это слишком абстрактно, ну или когда объясняют ООП не по конкретному языку, а в целом идею просто что бы знать а не применять.
Лекция похожа на попытку объяснить принципы работы ДВС с помощью описания как работают педали и рычаги автомобиля. Неверный сам подход к ООП. Само слово "ООП" начинается с "Объектный". Вот и начинать надо с объектов. Что это такой "Фрукт", который имеет поля, свойства, методы и события. Этот объект существует не сам по себе, а должен быть создан специальным механизмом - конструктором как экземпляр некоторого класса, абстрактного описания "Фрукта", от которого и получает , как ДНК, все его поля, свойства, методы и события. При этом сам класс может быть просто "Объектом", а может быть потомком одного из имеющихся классов - предков. Ну и далее собственно про классы - про инкапсуляцию, наследование и полиморфизм, области видимости и прочее, прочее, прочее. И только после этого собственно переходить к примерам. Из плюсов отмечу относительно хороший язык и подготовку лектора. За что лайкаю и подписываюсь
потому, что в других языках например пхп это обязательно, и те кто изучал другие языки что бы не терять навык(по привычке) ставят точку с запятой, а если одним джс то можно и не ставить, плюс что то говорил про стандарты принятые в компании.
Оооо братан)))) Когда будешь писать много когда НА ОДНОЙ странице - сам начнешь их ставить- в первую очередь для себя))) Так легче код воспринимать. Да и в других языках привычка полезная. Короче ставь- и потом поймёшь
Чтобы не сломать класс которым пользуется какой-нибудь другой разработчик (которому не нужны твои дополнительные свойства) То есть ты создаешь свой класс наследуясь от основного и наполняешь его свойствами и функциями нужными только тебе
Все классно! Но, я не совсем понял... когда Вы ВЫЗЫВАЕТЕ m2.myAlert(this.message) вне самого класса, а просто в коде, зачем ему передавать this.message , это нужно? Ведь this.message описано в классе. Я попробовал у себя просто вызвать m2.myAlert() и все сработало. Отсюда вопрос: надо ли писать при вызове m2.meAlert() в качестве параметра this.message ? Там какие-то подводные камни, поэтому Вы его пишете... ?
Александр, спасибо! Самое лучшее объяснение ООП на действительно понятном живом примере. Без дурацких Кроликов, наследуемых от Животных, и Красных Машин - от Машин вообще. 35 минут удовольствия для ушей и мозга! :)
Дякую за уроки!!! Інфа залітає з пів слова))) У Вас талант!
Именно благодаря этому видео я понял: для чего нужны классы, как реализуются и т.д.. Всё оказалось гораздо проще. Огромное спасибо за урок)
Дружище, ты очень круто объясняешь! Так держать! С удовольствием смотрю твои ролики, давно на тебя подписан и всегда жду новых роликов. Не бросай только канал )
он не любит когда ему тыкают ) А преподватель действительно мощный, еще и всегда на связи и стабильно проверяет и если что разъясняет д/з
Очень хорошее объяснение! И в целом очень нравиться ваш подход к объяснениям и подаче материал!!! Спасибо!!
Александр у вас талант обьяснять, сколько я перелопатил в интернете никак не мог понять что это за чертовщина и как ее применять, а тут за первые 15 минут я узрел истину , браво учитель.
Как всегда радуют глаз заставки для видео) Классная фишка канала!
Max Shevchenko Спасибо! Приятно!
Александр, здравствуйте!
Слежу за вашим каналом с перерывами уже почти год, посмотрел многие Ваши видео и хочу выразить благодарность за такую хорошую подачу информации. Именно Ваши уроки помогают мне отвлечься от сухой теории и познать многие моменты на практических примерах. Вы подаете информацию так, что ее довольно таки просто усваивать. Кроме того всё подаётся так, что с каждым новым видео интерес к программированию увеличивается все больше и больше. Спасибо Вам огромное!
Артем Кунгуров спасибо за отзыв и за то, что остаётесь с нами ! Очень рады, что Вам полезны наши уроки! От канала желаем Вам дальнейшего развития! ☘️
Всё больше становится Java-подобным! Мне нравится!
ну кртуо же , круто объясняете. Обязательно курс куплю у вас! Больше видео на канале и развития его же!!!
Спасибо! Замечательный урок: коротко, понятно и по существу :)
Вполне понятно. Спасибо, у вас дар преподавания.
Александр, а где вторая часть про ООП ??? 34:50
Я классы ещё не изучал вовсе, однако, мне ясно о чём это видео и как это работает - объяснение отличное. Спасибо)
Полезу в документацию и посмотрю видео ещё раз 🤝 .
Я много смотрела видео, но просмотрев Ваше, я наконец-то поняла, что такое ООП и с чем его едят) Огромное спасибо)
Спасибо за этот урок. Очень полезно слушать про ООП от того, кто профессионально использует ООП.
Мне урок зашел, видимо потому, что я уже писал на ООП на С++ и в Python. От меня этого не требуют, но мне интересно для общего развития. Только спустя пару месяцев, я начал понимать, что ООП - это очень круто, особенно, когда надо было модернизировать код. А есть такие проекты, где без ООП вообще никак. Так что тема важная, подана толково, еще раз благодарю)
Рубрика "О сложном просто" продолжается) Спасибо,доступно очень и понятно)Ждёмс get-ры и set-ры.
Приятно было слушать. Для новичка трудно понимать из-за обилия терминов
Уже 43 тыс. подписчиков!!! 👍👍👍 Совсем недавно было 40, когда стикеры запустили. Значит наша поддержка работает, а вы делаете классные видео и курсы. Прогрессируем вместе!💪
Давид Терами Ваша поддержка очень важна для нас! Вместе мы сила! Спасибо, что остаётесь с нами!
Кажется меня скоро ждёт ещё более увлекательное погружение в миры ООП...Спасибо за подробное разъяснение что это и с чем его едят!
Огромное спасибо за ваши видео уроки, как всегда доступно и понятно( отдельное спасибо что показываете на реальных примерах).
Одно из топовых уроков в рамках курса
очень многое понял благодаря этому уроку
лайк
Дуже доступно! Дуже чекаю 2 частини)
Спасибо, с нетерпением жду продолжения!
Виктория Подзолко спасибо за комментарий!
большое спасибо за объяснение простым доступным языком! Всё более чем понятно, информативно и без воды!
Довольно наглядно! Спасибо! Курс хороший, рекомендую всем!
Супер понятное и интересное объяснение. Спасибо огромное.
Спасибо!!!! Очень полезный и нужный урок! Ждал его много месяцев!!!!
Dr. Zlad спасибо за комментарий! Приятно, что Вам было полезно!
С удовольствием смотрю твои ролики
Круто спасибо, народ хочет продолжения ООП в JS )
Просто супер урок !!! Спасибо за старания !!!
Спасибо. Ждем геттеры, сеттеры
26:55 , когда вызываете m2.myAlert(this.message), почему передаете параметром this.message , если в 29 строке уже есть все? Спасибо за урок.
очень достойное объяснение всё понятно!!! Спасибо
Александр Руденок спасибо за комментарий!
Очень доступно, супер, спасибо вам!!!
Спасибо, как всегда все подробно и понятно!
Будь ласка, ще відео) дуже треба якнайшвидше)
І дякую за простоту
Найскладніша тема, принаймі для мене
Спасибо огромное! Все понятно и просто объяснено
Отличное видео! Спасибо! Очень помогло разобраться с классами.
Столько всего пересмотрел и не мог понять смысл, а тут сразу понял
Все здорово объясняешь! Спасибо)
очень доступно объяснено)
Iren Ginger спасибо за комментарий!
Спс за урок!)
Как-то не зашло, но буду пересматривать ещё раз
супер, больше видео про ооп!!!!
Дмитрий Д спасибо!
Добрый вечер.Подскажите , пожалуйста , как обращаться к методу myAlert() в классе Alert, через обьект , созданный с помощью класса Alert2.Спасибо
ждемс 2 видос про ООП
Спасибо за урок. Вы молодец
В Delphi есть хорошее правило: все классы начинаются с большой латинской T. И их видно в коде сразу (при условии, конечно, что программист все остальные переменные и объекты называет не с этой буквы).
Просто супер. Спасибо
azizbek pinjebaev спасибо! Приятно!
@@TheAgressio главное я понял "const" параметры функции
Я так понимаю, JS интерпретатор классы не загружает вначале как это он с функциями делает? Они должны быть обязательно объявлены в коде перед использованием?
Часто при использовании функционального подхода результатом вывода присваивают true или false есть желание при неудаче то есть false выводить причину в виде exception какого то исключения что бы понимать что пошло не по плану. Как я понимаю это возможно только с классами при создании поля отвечающего за исключения?
Отлично!
Спасибо огромное! Лично мне всё понятно, интересно. Сейчас занимаюсь созданием нейросети, а именно генетического алгоритма, и на 150 + строк одни методы (и ещё столько сама реализация алгоритма) и всё в одном файле. Есть вопрос: я JS код запускаю не в браузере а через node, как импортировать файлы классов?
Подскажите, пожалуйста, почему выводит ${a} вместо переменной a в параграфе?
В целом понятно.
Но побольше примеров применения на практике
Диванный Аналитик на курсе JavaScript 2.0 к этому уроку 20 задач для практики
Дякую за урок! ...
бомба!
Лайк и подписка!!
Oleg Gribanov спасибо! Приятно!
Супер ! Дякую !
Как события делать на классах? Например клик
Дякую! Було все зрозуміло пояснено. Виникло одне питання: А якщо тих класів багато, наприклад 20, то і 20 файлів треба підключати в html?
Извините за глупый вопрос, почему скрипты подключаются в конце body в html файле, если есть атрибут defer и можно их подключить в шапке?
Как понять когда надо наследоваться от основного класса? Ведь добавить иконку мы могли и в основном классе
по паттернам есть планы видосы делать?
Примеры несложные, потому что объяснил очень понятно. Я бы отозвался как "просто и понятно о достаточно сложном"
я так понимаю про get-ы и set-ы еще нет видео? Очень доступно и понятно, спасибо!!
Александр, ОЧЕНЬ ждём второй части ООП!!!! Скажите, когда запишите?
Я вот скачал один слайдер на jQuery, и понял что просто так в боевом проекте на смогу использовать, потому что мне нужно инициализировать его несколько раз, а код написан в процедурном стиле, так что мучаюсь переписываю под ООП, чтоб как в крутых плагинах создать новый объект слайдер1 от класса слайдер и настраивать его как нужно, и генериться он будет в js что бы добавляя новый слайдер не париться о копировании тегов и идентификаторов и тд, надеюсь у меня получился
Вместе this мы б ставили constructor?
супер !
Очень понравилось, хотелось бы полностью закрыть вопрос ООП. Сколько практических занятий в платной версии?
все доступно и понятно. вначале теория про классы из learnJS, потом видос и норм.
А где глянуть работу с DOM через JS, спс!
Кто изучал Java просто будут щёлкать ООП. Кстати если хотите полное и просто объяснение про ООП и почему он в 1000 раз лучше функционального программирования - советую прочитать главу про ООП из книги Head First Java (не JavaScript)
На практике круто объяснять - я в свое время когда учил ООП чуть крыша не поехала.
Приводили примеры наследования разными алегориями - типа вот есть класс Зверь - это родительский класс для всех остальных - у них есть общие свойства - кровь, лапы, шерсть и т.д. А дочерние классы это зайчики, лисички, волки и т.д - они наследуют класс Зверь и все его свойства + у каждого свои добавляются шерсть черная, уши длинные, скорость движения, и методы одни бегают, другие прыгают, третьи ползают.
НАсмотрелся этой хрени - а потом делаешь какой то проект - а там уже нет зайчиков и лисичек - там есть элементы страницы или данные с которыми надо работать - сидишь тогда и думаешь а что же такое сущность и как работать с классами - где их применить. Может класс это вся страница - а все манипуляции на ней это методы - типа открытие меню, нажатие на кнопку, или может сущность это отдельно меню, отдельно кнопка, отдельно слайдер.
Короче крутая идея доносить ООП практическими примерами - а не каким то теоретическим бредом.
Мы часом не учились в одного и тоже преподавателя?)))
@@liubomyr-peteliuk хз но это очень популярная метода так объяснять ООП. Я таких персонажей несколько встречал. )))
@@igorbond2823 Лично мне кажется, что такой метод преподавания подходит детям, а не зрелым умам. Для более зрелых как раз подходят методы Александра.
@@liubomyr-peteliuk та да, это слишком абстрактно, ну или когда объясняют ООП не по конкретному языку, а в целом идею просто что бы знать а не применять.
@@igorbond2823 Согласен.
Спасибо
Что если создать переменную без led ??? Она становится глобальной или как ???
без let. Да, ее объявит JS.
главное я понял this и параметры функции конкретно. этот звено не хватило мне
32:15 правильно подключаем Классы
Друга частина буде?
когда ооп 2 часть ?
это прямо как на джаве
прикольно
я потерял логику зачем нужна функии теперь как мне знать что делать методом что функиею!?
JS становится похожим на Java,
не удивлюсь если эволюционирует до состояния настольных приложений на чистом JS
не удивляйтесь! ))) Уже и такое есть!
08:24 рефакторинг кода на ООП
Все понятно, но повторить не смогу. Понятно и ещё одно - учить - не переучить...
Top
Насколько мне известно, для вызова метода родительского класса нужно перед методом писать super, а не proto.
Благодарю, я тоже уже пришла к этому выводу, видимо Алексей чуточку оговорился
Сколько документации я уже не перечитала)
6:55 кому-то от js стало плохо;)
Голос, на голос Amway из" Мира танков "похож)})
Низковат)
Лекция похожа на попытку объяснить принципы работы ДВС с помощью описания как работают педали и рычаги автомобиля.
Неверный сам подход к ООП.
Само слово "ООП" начинается с "Объектный". Вот и начинать надо с объектов. Что это такой "Фрукт", который имеет поля, свойства, методы и события. Этот объект существует не сам по себе, а должен быть создан специальным механизмом - конструктором как экземпляр некоторого класса, абстрактного описания "Фрукта", от которого и получает , как ДНК, все его поля, свойства, методы и события. При этом сам класс может быть просто "Объектом", а может быть потомком одного из имеющихся классов - предков. Ну и далее собственно про классы - про инкапсуляцию, наследование и полиморфизм, области видимости и прочее, прочее, прочее.
И только после этого собственно переходить к примерам.
Из плюсов отмечу относительно хороший язык и подготовку лектора. За что лайкаю и подписываюсь
Как же музыка в начале наводит жуть
А почему вы ставите точку с запятой в конце кода? это же необязательно.
Прост
потому, что в других языках например пхп это обязательно, и те кто изучал другие языки что бы не терять навык(по привычке) ставят точку с запятой, а если одним джс то можно и не ставить, плюс что то говорил про стандарты принятые в компании.
Оооо братан)))) Когда будешь писать много когда НА ОДНОЙ странице - сам начнешь их ставить- в первую очередь для себя))) Так легче код воспринимать. Да и в других языках привычка полезная. Короче ставь- и потом поймёшь
А почему нельзя просто взять и дописать в начальный класс дополнительное своиство ?? зачем столько много писать ?
Чтобы не сломать класс которым пользуется какой-нибудь другой разработчик (которому не нужны твои дополнительные свойства)
То есть ты создаешь свой класс наследуясь от основного и наполняешь его свойствами и функциями нужными только тебе
123
Можете называть переменные нормально, а не a b c?
Все классно! Но, я не совсем понял... когда Вы ВЫЗЫВАЕТЕ m2.myAlert(this.message) вне самого класса, а просто в коде, зачем ему передавать this.message , это нужно? Ведь this.message описано в классе. Я попробовал у себя просто вызвать m2.myAlert() и все сработало. Отсюда вопрос: надо ли писать при вызове m2.meAlert() в качестве параметра this.message ? Там какие-то подводные камни, поэтому Вы его пишете... ?
Привет.Сори , что беспокою. Не пробовал обращаться к методу myAlert() в родительском классе через прототип?