Что такое объекты?
04.02.2025
Что такое класс?
Класс — это как чертеж для объектов. Класс описывает, какие атрибуты и методы (действия) будут у всех объектов, которые мы создадим на его основе. Например, класс "Человек" может иметь атрибуты "возраст" и "имя", а также методы "говорить" и "работать".
Что такое атрибуты и операции?
Атрибуты — это данные, которые описывают объект. Например, для "Человека" атрибутами будут "возраст" или "работа".
Операции — это действия, которые могут выполняться над объектами. Например, операция "говорить" для человека или "пополнить баланс" для банковского счета.
Какие бывают операции?
Модификатор — меняет состояние объекта (например, увеличить баланс счета).
Селектор — просто забирает информацию о состоянии объекта (например, узнать баланс счета).
Итератор — дает доступ к частям объекта по порядку (например, пройтись по всем предметам в инвентаре персонажа).
Конструктор — создает новый объект.
Деструктор — уничтожает объект, когда он больше не нужен.
Отношения между объектами
Объекты могут быть связаны друг с другом, например:
Связь — это когда два объекта как-то взаимодействуют (например, персонаж и его оружие).
Агрегация — это когда один объект состоит из других (например, дом состоит из комнат).
Наследование и полиморфизм
Наследование — это когда один класс (например, "Человек") наследует атрибуты и действия другого класса (например, "Животное"). Так, "Человек" будет иметь все особенности "Животного", но добавит свои.
Полиморфизм — это когда одно и то же действие (операция) может делать разные вещи в зависимости от того, к какому объекту оно применяется. Например, операция "сложить" будет работать по-разному для чисел и векторов.
Переопределение операций
Иногда нужно изменить поведение уже унаследованной операции. Например, если у тебя есть класс "Животное", а потом ты создаешь класс "Птица", ты можешь переопределить операцию "полететь", чтобы для птицы это было как-то по-своему.
Метаклассы
Это классы, которые создают другие классы. Типа ты создаешь не просто объект, а целую структуру, которая будет создавать объекты с нужным поведением.
Как все это помогает?
Классы и объекты помогают упорядочить данные и действия в программе. Это как построение зданий по чертежу — у каждого объекта будет свой набор характеристик и действий, но все они будут следовать одинаковым правилам, заложенным в классе.
Last updated