Swift 类类型属性不应具有static关键字?
这是苹果文档示例中的一张图片,为什么前两个属性有“static”关键字??我认为静态应该只用于结构和枚举 其次,为什么这个类有一个存储类型属性?我以为类只能有计算类型属性 生效于Swift 1.2,现在允许在类中使用静态属性 类始终被允许具有存储属性 从以下目录中: 静态方法和属性现在允许在类中作为 期末考试的别名 现在允许您在类中声明静态存储属性,这些类具有全局存储,并且是惰性的 与全局变量一样,在第一次访问时初始化Swift 类类型属性不应具有static关键字?,swift,class,types,properties,static,Swift,Class,Types,Properties,Static,这是苹果文档示例中的一张图片,为什么前两个属性有“static”关键字??我认为静态应该只用于结构和枚举 其次,为什么这个类有一个存储类型属性?我以为类只能有计算类型属性 生效于Swift 1.2,现在允许在类中使用静态属性 类始终被允许具有存储属性 从以下目录中: 静态方法和属性现在允许在类中作为 期末考试的别名 现在允许您在类中声明静态存储属性,这些类具有全局存储,并且是惰性的 与全局变量一样,在第一次访问时初始化 但是使用static而不是class关键字有什么区别呢?正如上面的引文所说:
但是使用static而不是class关键字有什么区别呢?正如上面的引文所说:在类的上下文中使用static是class final的别名。final表示无法重写属性/方法。您可能对以下内容感兴趣。但是在声明类类型属性/方法时使用“static”或“class”关键字有什么区别?这就是语言的设计方式:Swift编程语言说:您使用static关键字定义类型属性。对于类类型的计算类型属性,可以改用class关键字来允许子类重写超类的实现。如果试图定义类存储属性,则会收到一条错误消息,提示该语言尚不支持类存储属性:类中尚不支持类存储属性;你的意思是“static”吗?是的,我的意思是“static”,我可以对类中的所有类型方法和类型属性使用“static”关键字吗?你可以,但是如果你希望子类能够重写类型方法,你应该使用class而不是static。但是,在减少动态调度方面存在一个问题。