Ответ
Да, класс (class) в Swift является типом.
В Swift тип определяет свойства и поведение значения. Классы, наряду со структурами (struct), перечислениями (enum) и протоколами (protocol), являются фундаментальными типами, которые можно использовать для объявления переменных, параметров функций и возвращаемых значений.
Пример объявления и использования класса как типа:
// Объявление типа `Person`
class Person {
var name: String
init(name: String) {
self.name = name
}
}
// Использование класса как типа:
let john: Person = Person(name: "John") // Аннотация типа
func greet(person: Person) { } // Параметр типа Person
func createPerson() -> Person { ... } // Возвращаемый тип Person
Классы как ссылочные типы (Reference Types):
- При присваивании экземпляра класса новой переменной или константе копируется ссылка на один и тот же объект в памяти.
- Поддерживают наследование.
- Могут иметь деинициализаторы (
deinit).
let person1 = Person(name: "Alice")
let person2 = person1 // person2 ссылается на тот же объект, что и person1
person2.name = "Bob"
print(person1.name) // Выведет "Bob"