zoukankan      html  css  js  c++  java
  • swift 第二课 基础知识-2

     setter 和getter 的使用--> 适合计算使用

    struct Point {
        var x = 0.0, y=0.0
    }
    
    struct Size {
        var width = 0.0, height = 0.0
        
    }
    
    struct Rect {
        var orgin = Point()
        var size = Size()
        
        //    lazy var 变量: 类型 = { 创建变量代码 }()
        //    懒加载的使用方法
        //    lazy var center : Point = {
        //        let x = self.orgin.x + self.size.width/2
        //        let y = self.orgin.y + self.size.height/2
        //
        //        return Point(x: x,y: y)
        //    }()
        
        
        
        mutating  func getCenter()-> (Double,Double){
            let x = self.orgin.x + self.size.width/2
            let y = self.orgin.y + self.size.height/2
           
            return (x,y)
        }
        
        
        var center:Point {
    //        setter 和getter 适合 计算属性
            get {
                let x = self.orgin.x + self.size.width/2
                let y = self.orgin.y + self.size.height/2
               
                return Point(x :Double(x) , y : Double(y))
            }
            
            
            set {
                orgin.x = newValue.x - size.width
                orgin.y = newValue.y - size.height
            }
            
        }
    }

    外部调用 及显示结果

       var rect = Rect(orgin:Point(x:100,y:100),size:Size(100,height:100))
            
            print("rect 的数值 是(rect)")
            print("rect 的 center 是 (rect.getCenter())")
            
        
            rect.center = Point (x:10.0,y:10.0)
            
            print("rect 的 center 是 (rect.center)")

    结果

    rect 的数值 是Rect(orgin: swift_003.Point(x: 100.0, y: 100.0), size: swift_003.Size( 100.0, height: 100.0))
    rect 的 center 是 (150.0, 150.0)
    rect 的 center 是 Point(x: -40.0, y: -40.0)
  • 相关阅读:
    Python 字典(Dictionary)操作详解
    MySQL root密码忘记后更优雅的解决方法
    linux下升级python
    mysql实现复杂groupby : GROUP_CONCAT
    Python常用time处理
    spark安装
    python2脚本批量转成python3
    linux zip压缩文件
    dataframe 差集
    012.mysql-mysql查询字段排序规则、数据库编码、表编码,修改排序规则
  • 原文地址:https://www.cnblogs.com/Bob-blogs/p/6410705.html
Copyright © 2011-2022 走看看