Swift学习:属性

举例:

class Rectangle{

    //存储属性
    var height:Double = 0
    var width:Double = 0
    
    //计算属性
    var area:Double{
        get{
            return height*width
        }
        set{
            width=newValue/height
        }
    }
    
    //静态属性
    static var max:Double = 10000
}

var r = Rectangle()//初始化
r.height += 10
r.width += 20
print(r.area)

Rectangle.max += 300

Under The Hood

==存储属性的本质是一个存储变量+两个访问器方法(get,set)==
==计算属性的本质是两个访问器方法,可以简化为 get(只读)==

属性初始化

方法1:提供默认值

    var x =100

方法2:构造器初始化

    var x
    init(x){
        self.x=x
    }

结构:编译器已经默认生成初始化器

属性观察者

var data:Int = 0{
    willSet {
        print("\(newValue)" 
    }
    didSet {
        print("Changed from \(oldValue) to \(data)")
    }
}

你可能感兴趣的:(Swift学习:属性)