9.8 Swift类型属性

前端之家收集整理的这篇文章主要介绍了9.8 Swift类型属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/**

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

猜你在找的Swift相关文章