11.Swift 中的类和结构体

前端之家收集整理的这篇文章主要介绍了11.Swift 中的类和结构体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Swift中也有类和结构体,分别用struct和class声明,两则之间有很多相同之处,比如

  • 1.定义属性用于存储值
  • 2.定义方法用于提供功能
  • 3.定义附属脚本用于访问值
  • 4.定义构造器用于生成初始化值
  • 5.通过扩展以增加默认实现的功能
  • 6.实现协议以提供某种标准功能

但是类相比起结构体又多出一些特性,比如:

  • 1.继承允许一个类继承另一个类的特征
  • 2.类型转换允许在运行时检查和解释一个类实例的类型
  • 3.析构器允许一个类实例释放任何其所被分配的资源
  • 4.引用计数允许对一个类的多次引用

官方文档有推荐使用结构体的原则:

  • 1.该数据结构的主要目的是用来封装少量相关简单数据值。
  • 2.有理由预计该数据结构的实例在被赋值或传递时,封装的数据将会被拷贝而不是被引用。
  • 3.该数据结构中储存的值类型属性,也应该被拷贝,而不是被引用。
  • 4.该数据结构不需要去继承另一个既有类型的属性或者行为。

举例来说,以下情境中适合使用结构体:

  • 1.几何形状的大小,封装一个width属性和height属性,两者均为Double类型。
  • 2.一定范围内的路径,封装一个start属性和length属性,两者均为Int类型。
  • 3.三维坐标系内一点,封装x,y和z属性,三者均为Double类型。

这次就讲到这里,下次我们继续

猜你在找的Swift相关文章