Ответ
Объект — это экземпляр (instance) класса, структуры или перечисления в Swift. Он инкапсулирует данные (свойства) и поведение (методы).
Ключевые отличия по типам:
-
Класс (Class) — ссылочный тип (reference type). При присваивании или передаче копируется ссылка на один и тот же экземпляр в памяти.
class Person { var name: String init(name: String) { self.name = name } } let person1 = Person(name: "Alex") // объект класса let person2 = person1 // person2 ссылается на тот же объект, что и person1 person2.name = "Bob" print(person1.name) // "Bob" (изменение затронуло оба "указателя") -
Структура (Struct) и Перечисление (Enum) — значимые типы (value types). При присваивании или передаче создается новая, независимая копия данных.
struct Point { var x, y: Int } var point1 = Point(x: 10, y: 20) // объект структуры var point2 = point1 // Создается полная копия значений point2.x = 30 print(point1.x) // 10 (оригинальный объект не изменился)enum Direction { case north, south } let dir = Direction.north // объект перечисления
Практическое правило (Swift): Используйте структуры по умолчанию для простых типов данных. Классы применяйте, когда требуется наследование или семантика разделяемого изменяемого состояния.