我如何更改子类中的超类值

时间:2019-09-11 14:17:21

标签: swift

我有一个自定义类,名为class a,看起来像这样

Class A {
    var isTrue: Bool = true
    if isTrue {
        print(“true”)
    else {
        print (“false”)
}

这是第一个被称为超类的类(A类)

Class B: A {
    Var isTrue = false
}

这是继承类A的类B。我要做的就是将类B中的类True中的值isTrue更改为类B。因此,如果将istrue设置为false,则类A中的变量isTrue已更改为false。 我已经研究过stackoverflow了,许多建议建议在类A上使用init并覆盖类B上的init,但是我认为我不能这样做,因为在我的项目类A中,许多类都继承了该类,而我只想为1或2课创造条件

1 个答案:

答案 0 :(得分:0)

如果我正确理解,您想将B.isTrue的初始值_覆盖为false。您可以覆盖初始化程序来实现此目的。

class B : A {
    override init() {
        super.init()
        isTrue = false
    }
}