Swift 面试题
目录

Swift 中 static 和 class 关键字在类型属性中的区别?

· 约 3 分钟读完 · 第 76 / 196 章

推荐答案

在 Swift 中,static 和 class 关键字都可以用于定义类型属性,但它们的主要区别在于:

  • static 关键字用于定义不可重写的类型属性和方法,适用于结构体、枚举和类。
  • class 关键字仅用于类,并且允许子类重写该类型属性或方法。

本题详细解读

static 关键字

  • 适用范围:static 关键字可以用于结构体、枚举和类。
  • 不可重写:使用 static 定义的属性或方法在子类中不能被重写。
  • 示例:

class 关键字

  • 适用范围:class 关键字仅适用于类。
  • 可重写:使用 class 定义的属性或方法可以在子类中被重写。
  • 示例:

总结对比

特性 static class
适用范围 结构体、枚举、类 仅类
是否可重写 不可重写 可重写
示例 static var storedProperty: Int class var computedProperty: Int

通过以上对比,可以清晰地理解 static 和 class 在类型属性中的区别。