美文网首页
Swift学习:属性

Swift学习:属性

作者: 逸飞u | 来源:发表于2016-04-04 13:23 被阅读20次

    举例:

    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学习:属性

          本文链接:https://www.haomeiwen.com/subject/oqnulttx.html