40. В каких случаях класс уместнее структуры, если не считать наследование?Теория

Дополнительные вопросы

1. Чем опасно, когда на один экземпляр класса ссылаются из нескольких мест?

Темы

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

  • один и тот же объект меняют из разных экранов или сервисов
  • нужен deinit: закрыть файл, снять наблюдатель, отменить задачу
  • нужно сравнить личность через ===, а не поля
  • объект живёт долго и его сознательно не копируют

Дополнительные вопросы

1. Правка в одном месте сразу видна в остальных, хотя вызывающий код об этом не просил. Отсюда гонки, цикл сильных ссылок и состояние, которое трудно восстановить в тесте.