9.8 Swift类型属性

9.8 Swift类型属性,第1张

概述        /**          (8)类型属性:也就是这个属性它属于某一个类的而不是属于某一个对象的。          这个属性在所有属于这个类的对象里面共用一份。          1.也就是“类”本身定义属性,这样的属性不隶属于某一个对象,可以认为所有的对象公用这个属性,          2.值类型(指结构体和枚举)可以定义存储型的或者计算型的类型属性,          而类只

/**

8)类型属性:也就是这个属性它属于某一个类的而不是属于某一个对象的。

这个属性在所有属于这个类的对象里面共用一份。


1.也就是本身定义属性,这样的属性不隶属于某一个对象,可以认为所有的对象公用这个属性,

2.值类型(指结构体和枚举)可以定义存储型的或者计算型的类型属性,

而类只能定义计算型的类型属性,存储型的属性不可以做类型属性。 这个在Swift 3.0好像是可以了

对象.属性

类名称.属性

*/

struct TypeProperty {

// 属于某一个对象的属性,对于每一个对象都有一份

var property: Int = 0

/**

类型属性, 也就是这个属性它属于某一个类的而不是属于某一个对象的。

这个属性在所有属于这个类的对象里面共用一份。

*/

static var staticProperty: Int = 0

/**


*/

static var staticComputProperty: Int {

return TypeProperty.staticProperty

}

func test() -> VoID {

print("property==\(property) staticProperty==\(TypeProperty.staticProperty)")

}

}

var object = TypeProperty.init()

var object1 = TypeProperty.init()

object.property = 10

object1.property = 20

TypeProperty.staticProperty = 10

object.test()

object1.test()

class MyClass {

static var name: String = "zhangsan"

var age: Int = 10

static var staticComputProperty: Int {

get {

return 10

}

set {

}

}

}

var c1 = MyClass.init()

var c2 = MyClass.init()

c1.age = 11

c2.age = 13

MyClass.name = "lisi"

print(MyClass.name)

let dad: Int = MyClass.staticComputProperty

print(dad)

MyClass.staticComputProperty = 11

总结

以上是内存溢出为你收集整理的9.8 Swift类型属性全部内容,希望文章能够帮你解决9.8 Swift类型属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存