💀
Второй курс РПО
Язык UML
Язык UML
  • Сложности при разработке программного обеспечения
  • Почему появилось ООП и в чём его смысл?
  • Как программировали до ООП и почему это стало проблемой?
  • Как появился ООП и почему он спас программирование
  • Как планировать код до его написания: ООАП
  • Системный анализ и моделирование: как понимать сложные системы
  • Что такое объекты?
  • Экскурс в Диаграммы
  • История развития языка UML
  • 56-я Практическая
  • Диаграмма развёртывания
  • Диаграмма сотрудничества
  • Паттерны - что это?
  • Для второкурсников
Powered by GitBook
On this page
  • Что такое класс?
  • Что такое атрибуты и операции?
  • Какие бывают операции?
  • Отношения между объектами
  • Наследование и полиморфизм
  • Переопределение операций
  • Метаклассы
  • Как все это помогает?

Что такое объекты?

04.02.2025

Объект — это что-то, что существует в нашей программе. Это может быть, например, персонаж в игре или банковский счет. У объекта есть:

  • Состояние — это его "атрибуты", например, у человека может быть возраст, а у счета — баланс.

  • Поведение — это то, что объект может делать. Например, у объекта "человек" может быть операция "говорить" или "работать", а у объекта "счет" — "пополнить" или "снять деньги".

Что такое класс?

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

Что такое атрибуты и операции?

  • Атрибуты — это данные, которые описывают объект. Например, для "Человека" атрибутами будут "возраст" или "работа".

  • Операции — это действия, которые могут выполняться над объектами. Например, операция "говорить" для человека или "пополнить баланс" для банковского счета.

Какие бывают операции?

  1. Модификатор — меняет состояние объекта (например, увеличить баланс счета).

  2. Селектор — просто забирает информацию о состоянии объекта (например, узнать баланс счета).

  3. Итератор — дает доступ к частям объекта по порядку (например, пройтись по всем предметам в инвентаре персонажа).

  4. Конструктор — создает новый объект.

  5. Деструктор — уничтожает объект, когда он больше не нужен.

Отношения между объектами

Объекты могут быть связаны друг с другом, например:

  • Связь — это когда два объекта как-то взаимодействуют (например, персонаж и его оружие).

  • Агрегация — это когда один объект состоит из других (например, дом состоит из комнат).

Наследование и полиморфизм

  • Наследование — это когда один класс (например, "Человек") наследует атрибуты и действия другого класса (например, "Животное"). Так, "Человек" будет иметь все особенности "Животного", но добавит свои.

  • Полиморфизм — это когда одно и то же действие (операция) может делать разные вещи в зависимости от того, к какому объекту оно применяется. Например, операция "сложить" будет работать по-разному для чисел и векторов.

Переопределение операций

Иногда нужно изменить поведение уже унаследованной операции. Например, если у тебя есть класс "Животное", а потом ты создаешь класс "Птица", ты можешь переопределить операцию "полететь", чтобы для птицы это было как-то по-своему.

Метаклассы

Это классы, которые создают другие классы. Типа ты создаешь не просто объект, а целую структуру, которая будет создавать объекты с нужным поведением.

Как все это помогает?

Классы и объекты помогают упорядочить данные и действия в программе. Это как построение зданий по чертежу — у каждого объекта будет свой набор характеристик и действий, но все они будут следовать одинаковым правилам, заложенным в классе.

PreviousСистемный анализ и моделирование: как понимать сложные системыNextЭкскурс в Диаграммы

Last updated 3 months ago