Swift - 类的计算属性(get和set来间接获取 或 改变其他属性的值)

1、Swift中类可以使用计算属性,即使用get和set来间接获取/改变其他属性的值

class Calumator{
    
    var x:Int = 5;
    var y:Int = 6;
    
    var sum:Int{
        
        get{
            return x + y
        }
        set(val)
        {
            y = val - x
        }
        
    }
    
}

let cal = Calumator()
print(cal.sum) // 获取值 为 x+y  11

cal.sum  = 20 ; //设置值  y = 20 - x y =15
print(cal.y) // 15

2、对于set有简写方法,简写时,新赋的值默认为newValue

class Calumator{
    
    var x:Int = 5;
    var y:Int = 6;
    
    var sum:Int{
        
        get{
            return x + y
        }
        set
        {
            y = newValue - x
        }
        
    }
    
}

let cal = Calumator()
print(cal.sum) // 获取值 为 x+y  11

cal.sum  = 20 ; //设置值  y = 20 - x y =15
print(cal.y) // 15

3、如果只有get,没有set方法时可以简写.但是不能再赋值

你可能感兴趣的:(Swift)