Ad banner
Ad banner

Уроки Python с нуля / #19 – Наследование, инкапсуляция, полиморфизм

Помимо классов и объектов, ООП содержит дополнительные три основные концепции: наследование, инкапсуляция и полиморфизм. За урок мы научимся прописывать и реализовывать все эти концепции в языке программирования Python.

✅ Полезные ссылки:
– Урок на сайте itProger:

⏰ Тайм коды:
00:00 – Начало
00:18 – Наследование: что это?
00:53 – Создание основного класса
02:20 – Объекты класса
05:17 – Класс наследник «School»
06:46 – Другие классы наследники
07:30 – Работа с классом наследником
11:22 – Важный момент!
12:58 – Полиморфизм
16:11 – Инкапсуляция
18:00 – Заключительная часть

✔ Сообщество программистов:

✔ ————-
Вступай в группу Вк – 🚀
Инстаграм itProger:

Группа FaceBook –
Instagram:
Telegram:
Twitter –

– Уроки от #itProger 👨🏼‍💻
– Все уроки по хештегу #itprogerLessons

(Visited 29 times, 6 visits today)

You Might Be Interested In

Комментарии (26)

  1. По всей видимости поняли что инкапсуляция в ооп излишне. Защита данных от себя самого или своей команды это тупость))) когда это пригождалось если не мешало. Гораздо чаще получается что приватные поля или классы приходится в будущем переделывать особенно если модуль расчитан на доработку)))

  2. Здравствуйте мне 17 лет и я создал телеграмм канал, где показываю с какими трудностями я сталкиваюсь при изучении языков программирования с нуля. Также объясняю как решать эти проблемы. К каналу есть чат, где я отвечаю на интересующие вас вопросы, если заинтересовало ставь +

  3. есть вопрос, почему в видео сработал ввод
    super(school, self).__init__(year, city)
    self.pupils = pupils

    в моем случае оно не работало пока я сначала не обозначил self.pupils = pupils и только потом super(school, self)…и тд

    подскажите пожалуйста

  4. Подписался на платные курсы. Но там рассказывается все сухо. Подписался на этот канал и понял что как и откуда берется.

  5. У C# есть множественное наследование. И это супер удобная вещь. Ты можешь создать несколько интерфейсов по типу IFly, IRun, IEnemy. И создавать классы, которых будет объединять например интерфейс IFly и IEnemy. То есть ты создаешь летающих врагов. Так же можешь использовать IFly например на классе животных, чтобы определить летающих животных. А не создавать отдельные классы по типу FlyingEnemy или FlyingAnimal.

  6. Про инкапсюляцию (она есть). На моменте 17:45, обращение к полю year дало результат, так как вы добавляли нижние подчеркивания в названии переменной, у которой оставалось значение None, а в конструкторе создавали новое поле класса. Плохо выражаю свои мысли, если короче, у нас просто у объекта в тот момент было два поля: year и __year. К полю __year мы не могли обратиться, так как оно инкапсулировано, но к полю year мы спокойно обращались. Это два разных поля

  7. Уроки Python с нуля / #19 – Наследование, инкапсуляция, полиморфизм

    Школа itProger / Программирование

    213 тыс. подписчиков

    Подписаться

  8. Я израсходовала допустимый ресурс своей черепной коробочки… Я прям встряла в середине, запуталась и усе…. Пересмотрела, но понятнее не стало. На самом сайте урок про наследование мне показался гораздо понятнее и разжеваннее что ли )
    Спасибо за урок, у меня остался один шаг до завершения курса.

  9. 12:04 class School(Building, House) выдаёт ошибку, потому что House тоже наследует от Building. Происходит конфликт порядка методов, т.к. наследуется одно и тоже, а так множественное наследование разрешено в питоне.

  10. Потратил более двух часов на понятие self и super, конечно я использовал другие источники, к примеру я использовал chatgpt для вопросов по этому, рекомендую и другим людям кто понять не может использовать chatgpt.

  11. от мне непонятно
    если у меня просто класс, я создаю на его основе обджект, и если я не прописал в def _init_ (year=None, city=None), то я обязан эти значения указать при создании обджекта, иначе у меня вылезет ошибка,
    а вот если у меня класс наследуется от класса, и я в наследнике НЕ прописываю в def _init_ super(School, self)._init__(year, city), получается я могу создать школу (напомню что year=None, city=None в def __init_ я НЕ прописывал), у которой не будет года и города, а будут только ученики, и никакой ошибки.

    объясните плиз как так и почему? это странно (имхо)

    заранее спасибо и прошу прощения если вопрос тупой (я нуб).

  12. 9:32 Для чего передаётся название унаследованного класса при обращении к конструктору родительского класса?

  13. Сложная тема, но все очень подробно и понятно. С инкапсуляцией остались вопросы ещё. А в остальном все прям очень четко. Спасибо!

Post A Comment For The Creator: Школа itProger / Программирование

Ваш адрес email не будет опубликован. Обязательные поля помечены *