В Swift все классы неявно наследуются от базового класса NSObject, даже если это не указано явно. Это отличает Swift от некоторых других языков, где может быть несколько корневых классов.
Цепочка наследования представляет собой иерархию, где каждый класс наследует свойства и методы от своего родительского класса (суперкласса). Класс может иметь только одного непосредственного суперкласса.
Пример:
swift
Ключевые моменты:
B: A означает, что класс B наследует от класса A.Animal - суперкласс для Dog, а Dog - суперкласс для Poodle.Dog - подкласс Animal, а Poodle - подкласс Dog.super: Используется для доступа к реализации методов или инициализаторов суперкласса.override: Ключевое слово, используемое для переопределения методов или свойств суперкласса в подклассе.final: Модификатор, который можно применить к классу, методу или свойству, чтобы запретить его переопределение или наследование.Таблица, иллюстрирующая цепочку наследования в примере:
| Класс | Наследует от | Переопределяет makeSound? |
|---|---|---|
NSObject | - | Нет |
Animal | NSObject | Нет |
Dog | Animal | Да |
Poodle | Dog | Нет |
Цепочка наследования позволяет повторно использовать код, создавать специализированные версии классов и организовывать структуру данных в иерархическом виде.