10.4. Вопросы

  1. Проблемы императивного (процедурного) подхода в программировании.

  2. Понятие объекта и черного ящика (примеры). Парадигма объектно-ориентированного программирования. Цель объектно-ориентированного подхода. Как выглядит разработка приложения в объектно-ориентированном стиле?

  3. Понятия класс, объект, поле, метод. Область видимости, виртуальность метода.

  4. Основные принципы ООП. Содержание и примеры.

  5. Поддержка ООП в Python. Определение простого класса (инициализация, строковое представление, специальные методы).

  6. Определение операторов в классах, проверка типов. Случаи, в которых добавление такой функциональности является целесообразным.

  7. Атрибуты объекта и атрибуты класса: ключевые различия и варианты использования.

  8. Инкапсуляция в Python: особенности, общедоступные (Public), не общедоступные (Non-Public) и закрытые (Private) атрибуты. Принцип универсального доступа, геттеры/сеттеры, свойства.

  9. Наследование в Python: особенности, два вида наследования (ключевые моменты, разница, примеры использования). Проверка принадлежности к классу/типу.

  10. Полиморфизм в Python: особенности, примеры использования.

  11. Множественное наследование: возможности и недостатки. Использование класса Python как структуры из Си.