Swift 中 class var 和 static var 的区别
在 Swift 中,'class var' 和 'static var' 都用于定义类级别的属性,但它们有一些差异。
- 'class var':'class var' 用于定义一个类级别的计算属性或存储属性。它可以被子类继承,并且可以被子类重写(override)。使用 'class var' 定义的属性可以被类的实例或类本身访问。
class MyClass {
class var myProperty: Int {
return 0
}
}
let value = MyClass.myProperty
- 'static var':'static var' 也用于定义一个类级别的计算属性或存储属性。它也可以被子类继承,但不能被子类重写。使用 'static var' 定义的属性只能被类本身访问,无法被类的实例访问。
class MyClass {
static var myProperty: Int {
return 0
}
}
let value = MyClass.myProperty
总结:'class var' 可以被类的实例和类本身访问,可以被子类继承和重写;'static var' 只能被类本身访问,可以被子类继承但不能被子类重写。
原文地址: https://www.cveoy.top/t/topic/o8Bb 著作权归作者所有。请勿转载和采集!