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)")
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容