Swift 几个常用概念的区分

Swift 几个常用概念的区分

1.fileprivate, private, public, open

1>fileprivate文件内部私有

2>private结构体内或者类内私有

3>public任何作用域访问。但其他module中不可以被override和继承,而在module内可以被override和继承

4>open任何作用域访问,包括override和继承

5>final 任何地方都不能override

2. enum struct class

1>相同点

1>>三者都可以拥有属性和方法(enum本身不能储存属性,但是可以储存在其关联信息中,可以有计算属性)

2>>都可以拥有函数

3>>class和struct可以拥有自己的构造器

4>>可以遵循协议

5>>支持扩展增加功能

2>不同点

1>>类可以继承,内省和转型,结构体不支持

2>>struct、enum为值类型,class为引用类型

引用类型,可以通过赋值,改变原来的数据,值类型是不可以的

3>>类方法用class关键词声明,enum、struct用static关键词

4>>用mutaing关键词声明要修改struct、enum内容的方法

6>>类调用是动态的,结构体是静态绑定,性能方面结构体优于类

7>>苹果官方推荐,尽量使用结构体,除非你使用到继承或者引用的时候,类

3.swift 现在的定义变量使用let a = 3这种方式。oc定义使用const.

区别:let是一个运行时常量,是不可变的。const常量是一个在编译时或者编译解析时被初始化的变量

4.方法有时候会用到static修饰,跟普通的类方法用class修饰区别

static修饰的属性或者修饰的函数都不可以重写。但是使用class修饰符的,你可以重写属性或

者函数。

当static在类中应用的时候,static就成为class final的一个别名

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

推荐阅读更多精彩内容

  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,316评论 1 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,437评论 2 4
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,865评论 0 6