ООП: Наследование (Inheritance)
Сегодня разговор пойдет про второго кита в ООП - Наследование.
Как обычно нас будет интересовать, что это такое и зачем это нужно программисту.
По сути наследование - это механизм доступа к данным и поведению предка, а также способ расширения (изменения поведения) класса не изменяя его код.
Главное правило наследования: наследник ЯВЛЯЕТСЯ предком. Например директор является работником, но машина не является двигателем, потому наследовать автомобиль от двигателя нельзя, тут нужна композиция.
Бонус - в самом конце вернемся к разговору о _ и _ _ у атрибутов при наследовании.
👣ООП Первые шаги • Первые шаги в ООП: кла...
💊ООП: Инкапсуляция в Пайтон • ООП: Инкапсуляция в py...
Читать:
"Python 3 Object-oriented" by Dusty Phillips
"Learning Python", Fifth Edition by Mark Lutz
docs.python.org/3/tutorial/cl...
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #Inheritance
Пікірлер: 49
Вроде давно уже использую питон, и далеко не новичок, но КАК ЖЕ ПРИЯТНО слушать твое объяснение всегда. Как будто я сам новичку обновляю самую суть, без воды, с классными примерами! Спасибо за труды, ждем новых видео!
Лучший) недавно нашёл твой канал, отлично объясняешь, это мы смотрим
@PythonRussian
Жыл бұрын
спасибо
Ты лучший, знай это! Никогда не бросай канал, ты очень помогаешь людям особенно таким недотепам вроде меня:)
Отличный контент. Из ролика глубоко разобрался в вопросах классового разделения общества и источниках социальных противоречий ; ) Буду смотреть продолжения … Или вот еще: если кто скажет, что программирование это скучно и для заучек, я скину ссылку на этот видос, где Демиург по ходу создал вселенную, в которой живут Директор, Менеджер и Уборщица и получают свой Бонус )
@PythonRussian
12 күн бұрын
правильной дорогой идете, товарищ =)
Не так давно наткнулся на ваш канал. Господи храни Королеву что это произошло. Уже все видео пересмотрел) В связи с тем что давно не было активности на канале, я впал в депрессию и бесконечно молча про себя говорил " на что же Python Russian нас покинул..." Родные уже к бабкам водили.. Не помогло Излечился инъекцией(внутривенно) нового видео! Спасибо!
@PythonRussian
Жыл бұрын
спасибо, посмеялся от души, вот благодаря таким комментам и продолжаю снимать ролики =)
@barma1309
Жыл бұрын
@Николай Чернов не вы один... После хорошей теории легче в практику входить
@soldiertoy
Жыл бұрын
@@PythonRussian Всегда с наилучшими пожеланиями. Ваш подписчик))
Даешь больше годного контента 😊 Спасибо, что находишь силы и желание снимать такое качественное видео.
Спасибо за отличные ролики🤝 Продолжай в том же духе💪
Чего я не наткнулся на этот канал раньше! Шикарное объяснение и голос приятный. Спасибо за труд!)
Welcome back!
@PythonRussian
Жыл бұрын
thx! Spasibo!
Самый годный контент что я видел по Python! Спасибо за старания! Огромное! Продолжай, пожалуйста)
ждали 😇 дождались 👍 🤣
и снова - охренеть!
а прикольные ощущения - смотришь видос с канала с которым начинал, а ты уже всё это знаешь 😇 но, с части про HAS-A/IS-A уже интересно стало
Спасибо за труд. Продолжай!
Спасибо комрад!!!
@PythonRussian
Жыл бұрын
все для вас!
Оооо.... Дождались!!!
Только начинаю знакомиться с ООП и как человек который только пришел в ООП Ваши видео как бальзам на душу) Понимаю о чем речь и главное не теряется интрес к изучению)
Пока еще не учил ООП но радуют душу твои видео, большое спасибо за старания
ТЫ ВЕРНУЛСЯ!!! Какая огромная радость для меня. Не забрасывай канал пожалуйста, ты делаешь очень крутые обучающие ролики. Огромная благодарность тебе за твои труды.
@PythonRussian
Жыл бұрын
я и не пропадал) просто времени мало, не получается регулярно снимать. Но я буду стараться.
спасибо
👍👍
Да, заждались. Хорошего так мало, потери недопустимы. Спасибо
@PythonRussian
Жыл бұрын
не должно быть потерь, просто времени мало, а скоро еще и в отпуск уеду
Кажется пример на 36:50 это скорее агрегация, чем композиция, разве нет? Все таки классы существуют независимо и могут быть вызваны раздельно. Еще мне как-то немного не хватило темы с LSP и IS-A вместе, что последнее правило не очень работает, когда мы имеем дело с частным случаем чего-то, что облагается ограничениями (классический пример отношений прямоугольник-квадрат). Но было полезно. Все таки есть что-то в этом формате скорее лекции, чем просто сжатого изложения - больше подходит духу ютуба, где мы скорее хотим как-то более лично и неформально перенимать опыт. Спасибо, очень нравятся видео.
пушка!!!💯
хотел бы предложить автору тему: Множественное наследование. Если конечно есть что об этом рассказать)
да , твое видео точно и конкретно создай видео урок на udemy
@PythonRussian
Жыл бұрын
всему свое время =)
Реально лучшее объяснение в ютубе!!! Респектище, что находишь время и желание записывать видео! После именно этого в голове остался 1 вопрос: КАК РАБОТАЕТ ДАНДЕР МЕТОД __str__ ?)
@PythonRussian
Жыл бұрын
спасибо, а по дандер методам есть следующее видео
Спасибо огромное за труд, всё очень доступно и понятно. Без лишней воды. Очень интересует, может есть возможность записать видео про полезные плагины. Заранее спасибо! Так держать!
@PythonRussian
Жыл бұрын
проблема в том, что я всего 2 плагина использую, короткое видео получится и то как реклама Табнайн, начнут ругать что продался)))
Добрый день, очень было бы интересно разобрать задачи с Yandex, школа backend разработки. Задачи у меня есть, напишите куда скинуть. Заранее спасибо.
Спасибо за Ваш труд. Понимаю что ограничены во времени, но даёте ли платные уроки?
@PythonRussian
Жыл бұрын
сейчас нет, ранее конечно менторил ребят. Дело и во времени и в дороговизне для новичков.
Спасибо за труды! Мега полезный канал. Много чего нового узнал. По сегодняшней теме пока смотрел, придумал задание и не знаю как быть. Задача. У меня есть непрозрачный мешок с конфетами. Я засовываю руку и достаю одну. Мне нужно ее распознать как карамелька или шоколадная + узнать цвет фантика. Пишу класс Конфета, в нем определяю метод проверки. Как мне ее дальше передать в наследуемые класс Шоколадная_конфета или класс Карамелька и еще цвет фантика? Я ведь изначально не знаю, какую конфету и какого цвета я вытащу. То есть создать экземпляр класса могу только у класса Конфета. Или с точки зрения ООП моя логика неверна? Спасибо всем, кто ответит.
@PythonRussian
Жыл бұрын
я совсем не понял задачу, уж прости) мне видится Конфета как предок, которая просто умеет сказать какая она и ее наследники -Шоколадная и Леденец. Потом отдельная функция которая рандомом выдаст какую то конфету. Но вот как сюда относятся цвета фантиков и чего мы добиваемся пока не уловил =)
@freeforrussia
Жыл бұрын
@@PythonRussian Спасибо за ответ. Пояснение к задаче. я создаю экземпляр класса Конфета (так как на этом этапе знаю, что в мешке - конфеты). Внутри класса Конфета я определяю ее тип и цвет. На основании этих данным мне нужно вызвать из родительского класса дочерний, например Карамелька и передать туда цвет. В дочернем классе Карамелька есть свои методы для дальнейшей работы. Если все это описывать в одном классе, то он станет огромным со временем. Например карамельку можно сосать, выплюнуть, проглотить, грызть, подавиться и т.д. =))). У шоколадной будут другие методы. Ну то есть упрощенно, мне нужно из родительского класса вызвать дочерний и передать некие аргументы для последующей работы.
@freeforrussia
Жыл бұрын
Сам себе отвечу. Получается какая то хрень если в этой конкретной задаче использовать наследование.
Как можно связаться с тобой ?
@PythonRussian
Жыл бұрын
моя почта lexman2@ya.ru