从零开始自学Swift(六)

来源:互联网 发布:ubuntu增加存储空间 编辑:程序博客网 时间:2024/05/16 17:13

类与结构体

相同点:
- 定义属性用于存储值
- 定义方法用于提供功能
- 定义附属脚本用于访问值
- 定义构造器用于生成初始化值
- 通过扩展以增加默认实现的功能
- 实现协议以提供某种标准功能


不同点:
- 继承允许一个类继承另一个类的特征
- 类型转换允许在运行时检查和解释一个类实例的类型
- 解构器允许一个类实例释放任何其所被分配的资源
- 引用计数允许对一个类的多次引用


类和结构体的选择
按照通用的准则,当符合一条或多条以下条件时,请考虑构建结构体:

  • 结构体的主要目的是用来封装少量相关简单数据值
  • 有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用
  • 任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用
  • 结构体不需要去继承另一个已存在类型的属性或者行为
0 0
原创粉丝点击