zoukankan      html  css  js  c++  java
  • Swift中对计算属性的理解和对之前的补充

    这个功能的重点作用应该是在计算上。

    对于一般的属性,要么直接存一个,要么直接读一个,计算属性则可以根据所设置内容,进行一些修改或计算之类的, 比如:

    import UIKit
    
    class sample {
        
        var no1 = 0.0, no2 = 0.0
        var length = 300.0, breadth = 150.0
        
        var middle:(Double,Double) {
            
            get {
                return(length / 2, breadth / 2)
            }
            
            // 如果没有加上括号, 那么默认就是 set(newValue) {}
            set {
                // 可以在set方法里动态修改其他属性和本属性
                no1 = newValue.0-(length / 2)
                no2 = newValue.1-(breadth / 2)
            }
           
            // 补充
            // set方法也可以写成
            // set(value) {
            //     no1 = value.0-(length / 2)
            //     no2 = value.1-(breadth / 2)
            // }
        }
    }
    
    var result = sample()
    print(result.middle)
    result.middle = (0.0, 10.0)
    print(result.no1)
    print(result.no2)
    
    var result = sample()
    print(result.middle)
    result.middle = (0.0, 10.0)
    print(result.no1)
    print(result.no2)
    

      

    输出结果:

    (150.0, 75.0)

    -150.0

    -65.0

  • 相关阅读:
    linux-nohup后台运行
    linux-友好显示文件大小
    System.exit(0)会跳过finally块的执行
    Spark-scala-API
    Lua协程-测试3
    Lua协程-测试2
    Lua协程
    费马大定理
    Spring事务超时、回滚的相关说明
    springboot测试service层的单元测试
  • 原文地址:https://www.cnblogs.com/Rinpe/p/5191006.html
Copyright © 2011-2022 走看看