在 Swift 中,'class var' 和 'static var' 都用于定义类级别的属性,但它们有一些差异。

  1. 'class var':'class var' 用于定义一个类级别的计算属性或存储属性。它可以被子类继承,并且可以被子类重写(override)。使用 'class var' 定义的属性可以被类的实例或类本身访问。
class MyClass {
    class var myProperty: Int {
        return 0
    }
}

let value = MyClass.myProperty
  1. 'static var':'static var' 也用于定义一个类级别的计算属性或存储属性。它也可以被子类继承,但不能被子类重写。使用 'static var' 定义的属性只能被类本身访问,无法被类的实例访问。
class MyClass {
    static var myProperty: Int {
        return 0
    }
}

let value = MyClass.myProperty

总结:'class var' 可以被类的实例和类本身访问,可以被子类继承和重写;'static var' 只能被类本身访问,可以被子类继承但不能被子类重写。

Swift 中 class var 和 static var 的区别

原文地址: https://www.cveoy.top/t/topic/o8Bb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录