美文网首页
Swift访问控制运算符(五)

Swift访问控制运算符(五)

作者: chrisdev | 来源:发表于2018-11-17 02:48 被阅读0次

    1. 访问控制, Swift定义了三级访问控制, 决定了应用程序哪些部分可以访问哪些信息.

        public(公共类): 方法和属性可供App任意部分访问.

        internal(内部): 内部数据只能在定义这些数据的模块内使用, 模块是一个应用程序, 库, 或框架.  internal是默认的访问控制级别. internal可以省略

        private(私有): 只能供声明他的文件访问, 可以防止暴漏信息 

    将一个方法或属性声明为public时, APP中所有人都可以看到他

    public var publicProperty = 123                    //可供所有人访问

    private var privateProperty = 123                  //只能在当前源文件进行访问

    private(set) var privateSetProperty = 123    //源文件可读写, 其他文件只可以读取

    2. 运算符, Swift内置运算符(+, -, *, /)等, 一个运算符实际上是一个函数, 他接受一个或两个值作为参数, 并返回一个新的值.

    func +(left: Int, right: Int) -> Int {

            return left + right

    }    //实际上会以无穷递归方式调用自己, 导致app挂起

    3. Swift允许重新定义运算符, 以及为新运算符重载已有运算符. 

    定义Vector2D对象:

    class Vector2D {

            var x: Float = 0.0;        var y: Float = 0.0

            init(x: Float, y: Float) {    self.x = x;    self.y = y;    }

    }

    如果希望使用+运算符将这两个对象加在一起, 只需提供一个+函数的实现:

    func +(left: Vector2D, right: Vector2D) -> Vector2D {

            let result = Vector2D(x: left.x + right.x, y: left.y + right.y)

            return result

    }

    使用: let first = Vector2D(x: 2, y: 3);        let second = Vector2D(x: 1, y: 2)

    let result = first + second        // = (x: 3, y: 5)

    相关文章

      网友评论

          本文标题:Swift访问控制运算符(五)

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