Для обращения к переменной суперкласса из дочернего класса в Swift можно использовать ключевое слово super
.
При создании класса-потомка, вы можете переопределить существующие переменные класса-родителя или добавить свои собственные переменные класса-потомка. Однако иногда может возникнуть необходимость получить доступ к переменной суперкласса изнутри дочернего класса.
Для того чтобы обратиться к переменной суперкласса из дочернего класса, необходимо использовать ключевое слово super
перед именем переменной. Например, если у нас есть класс Parent
и у него есть переменная name
, а также есть класс Child
, который наследует от Parent
, мы можем обратиться к переменной name
с помощью super.name
.
Вот пример кода для демонстрации этого подхода:
class Parent { var name: String init(name: String) { self.name = name } } class Child: Parent { var childName: String override init(name: String) { self.childName = "Child" super.init(name: name) } func printParentName() { print(super.name) } } let parent = Parent(name: "John") let child = Child(name: "Tom") print(parent.name) // Выводит "John" print(child.name) // Выводит "Tom" print(child.childName) // Выводит "Child" child.printParentName() // Выводит "Tom"
В этом примере мы создали класс Parent
с переменной name
, и класс Child
, который наследует от Parent
. Мы переопределили инициализатор init
в классе Child
, чтобы инициализировать переменную childName
дополнительно. Затем мы создали экземпляры Parent
и Child
, и обратились к переменной name
обоих классов через соответствующие объекты. Затем мы вызвали метод printParentName
у экземпляра класса Child
, который выводит значение переменной name
с помощью super.name
.