ООП для начинающих: зачем оно нужно — объясняем без абстракций и лишних слов
Учебник по Python вводит объектно-ориентированное программирование через абзац с терминами «класс», «объект», «инкапсуляция», «наследование», «полиморфизм» — и ученик, только освоившийся с циклами и функциями, чувствует, что его снова бросили в незнакомую воду. Абстрактные определения не дают ответа на простой вопрос: а зачем вообще всё это нужно, если программы и так работали без классов? Объектно-ориентированное программирование для начинающих становится понятным, если начать не с определений, а с конкретной проблемы, которую ООП решает...