Как обратиться к переменной суперкласса из-под дочерного?

Для обращения к переменной суперкласса из дочернего класса в 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.