Swift修饰符(final、override、discardableResult、mutating、lazy、inou

栏目: Swift · 发布时间: 5年前

内容简介:lazy懒加载(Object-C的懒加载是当使用时才去开辟空间,set get方法)Swift 懒加载相当于静态空间,只运行一次....只打印一次 a = 11、

final

//5防止重写  class finalClass{  
      
    final var applePen = 1  
    final func test(){  
    }  
    final class func test2(){  
          
    }  
}  
class finalSub: finalClass {  
      
    //无法重写基类 定义了 final 的属性和函数  }
//加到class前,无法被继承  final class unDo{  
     
}

@discardableResult

@discardableResult //取消 如果不使用返回值的警告  
    class func unUseReuslt(d x:Int) -> Bool {

mutating

//实例化的时候,实参是不可改变,如果确实需要改的话加 mutating  
    mutating func changeby(justA:Int,justB:Int) {

convenience便利构造器

//3 指定构造器 和 便利构造器  class Food {  
    var name: String  
    init(name: String) {  
        self.name = name  
    }  
    //便利构造器  
    convenience init() {  
        self.init(name: "[Unnamed]")  
    }  
  
}

lazy

lazy懒加载(Object-C的懒加载是当使用时才去开辟空间,set get方法)

Swift 懒加载相当于静态空间,只运行一次....只打印一次 a = 1

lazy var a:Int = {  
          
        print("a = 1")  
        return 1  
    }()  
var ja:Jason? = Jason(name:"Jason") //Jason 实例化  
        var aa = ja?.a  
        var aaa = ja?.a  
        var aa2 = ja?.a

inout相当于C++的引用

func typeFunc(xx x:inout Int, yy y:inout Int) {  
          
        let value = x  
        x = y  
        y = value  
          
          
    }

open,public,internal,fileprivate,private

1、 private
private访问级别所修饰的属性或者方法只能在当前类里访问。

2、fileprivate

fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。

3、internal(默认访问级别,internal修饰符可写可不写)

internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。

如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。

如果是App代码,也是在整个App代码,也是在整个App内部可以访问。

4、public

可以被任何人访问。但其他module中不可以被override和继承,而在module内可以被override和继承。

5,open

可以被任何人使用,包括override和继承。

访问顺序:

现在的访问权限则依次为:open,public,internal,fileprivate,private。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

文明之光

文明之光

吴军 / 人民邮电出版社 / 2014-12 / 177元

吴军博士从对人类文明产生了重大影响却在过去被忽略的历史故事里,选择了有意思的几十个片段特写,以人文和科技、经济结合的视角,有机地展现了一幅人类文明发展的宏大画卷。 《文明之光》系列大致按照从地球诞生到近现代的顺序讲述了人类文明进程的各个阶段,每个章节相对独立,全景式地展现了人类文明发展历程中的多样性。《文明之光》系列首册讲述从人类文明开始到近代大航海这一历史阶段,共八个专题。第二册讲述了从近......一起来看看 《文明之光》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试