gpt4 book ai didi

swift - 您只能将计算变量与 setter 和 getter 一起使用来覆盖父类(super class)的存储属性

转载 作者:行者123 更新时间:2023-11-30 10:01:56 25 4
gpt4 key购买 nike

您只能将计算变量与 settergetter 一起使用来覆盖父类(super class)的存储属性。我通过尝试以下代码得到了这个结论。我不确定我是否100%正确。如果我错了,请纠正我。谢谢!

class SuperClass {
var ID = 2202
}

//Wrong
class SubClass: SuperClass {
override var ID = 2203
}

//worng
class SubClass: SuperClass {
override var ID: Int {
return super.ID + 1
}
}

//Correct
class SubClass: SuperClass {
override var ID: Int {
get {
return super.ID + 1
}
set {

}
}
}

最佳答案

您无法覆盖父类(super class)的存储属性,但可以从子类更改其值:

class SuperClass {
var ID = 2202
}

class SubClass: SuperClass {
override init() {
super.init()
self.ID = 2203
}
}

let a = SuperClass()
let b = SubClass()

print(a.ID)
print(b.ID)

关于swift - 您只能将计算变量与 setter 和 getter 一起使用来覆盖父类(super class)的存储属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com