Класс
Определенный пользователем шаблон (чертеж) для создания объектов, описывающий их данные (атрибуты) и поведение (методы).
Класс — это фундаментальное понятие в объектно-ориентированном программировании (ООП). Он действует как архитектурный чертеж для создания объектов (экземпляров).
Компоненты класса:
- Атрибуты (Поля/Свойства): Данные, которые будет хранить объект (например, имя, возраст).
- Методы (Функции): Действия, которые объект может выполнять (например, лаять(), вычислитьЗарплату()).
- Конструктор: Специальный метод для инициализации новых объектов при создании.
Связь Класс-Объект:
Если Автомобиль — это класс, то мояКраснаяТойота — это объект (экземпляр) этого класса.
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) принадлежат самому классу, а не его экземплярам.