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)
  • 相关阅读:
    安装Hadoop单机版
    Linux的en33没有IP地址
    idea导入spring源码
    CSS 选择器之基础选择器
    CSS 简介和代码风格
    JavaScript 中 双感叹号 !! 的作用
    VS Code 中的settings.js 配置
    项目中使用 vuex 实现(状态)数据共享
    VS Code 相关设置
    Node.js 的简单了解
  • 原文地址:https://www.cnblogs.com/Bob-blogs/p/6410705.html
Copyright © 2011-2022 走看看