Класс

Определенный пользователем шаблон (чертеж) для создания объектов, описывающий их данные (атрибуты) и поведение (методы).

Класс — это фундаментальное понятие в объектно-ориентированном программировании (ООП). Он действует как архитектурный чертеж для создания объектов (экземпляров).

Компоненты класса:
- Атрибуты (Поля/Свойства): Данные, которые будет хранить объект (например, имя, возраст).
- Методы (Функции): Действия, которые объект может выполнять (например, лаять(), вычислитьЗарплату()).
- Конструктор: Специальный метод для инициализации новых объектов при создании.

Связь Класс-Объект:
Если Автомобиль — это класс, то мояКраснаяТойота — это объект (экземпляр) этого класса.

        graph LR
  Center["Класс"]:::main
  Pre_object_oriented_programming["object-oriented-programming"]:::pre --> Center
  click Pre_object_oriented_programming "/terms/object-oriented-programming"
  Rel_object["object"]:::related -.-> Center
  click Rel_object "/terms/object"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Класс — это как чертеж дома. На чертеже нарисовано, где будут стены и окна, но жить в чертеже нельзя. Чтобы жить, нужно построить реальный дом (объект) по этому чертежу. По одному чертежу (классу) можно построить много разных домов (объектов).

🤓 Expert Deep Dive

Классы обеспечивают инкапсуляцию, наследование и полиморфизм. Абстрактные классы не могут быть инстанцированы и служат только как базовые (родительские). Интерфейсы определяют контракт (что делать), но не реализацию (как делать). Метаклассы (в Python) — это классы, которые создают другие классы. Статические члены (static) принадлежат самому классу, а не его экземплярам.

🔗 Связанные термины

Предварительные знания:

📚 Источники