Swift修饰符(final、override、discardableResult、mutating、lazy、inout.....)

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。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • final @discardableResult mutating convenience便利构造器 lazy懒加...
    love紫川阅读 1,068评论 1 4
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,523评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 嫁过来时,她正值青春,是女人最鲜美的年纪。尽管没有精致的五官和姣好的身材,那饱含胶原蛋白的肌肤依然不可抑制地溢出女...
    奇喵喵喵阅读 297评论 0 0
  • 人生就有如琵琶,需要张弛有度,才能奏出华美的曲子,如果一直紧紧的绷紧人生的琴弦,就算勉强演奏,也会容易拉断琴弦。
    三月的五月阅读 482评论 0 0