Swift中也有类和结构体,分别用struct和class声明,两则之间有很多相同之处,比如
但是类相比起结构体又多出一些特性,比如:
- 1.继承允许一个类继承另一个类的特征
- 2.类型转换允许在运行时检查和解释一个类实例的类型
- 3.析构器允许一个类实例释放任何其所被分配的资源
- 4.引用计数允许对一个类的多次引用
官方文档有推荐使用结构体的原则:
- 1.该数据结构的主要目的是用来封装少量相关简单数据值。
- 2.有理由预计该数据结构的实例在被赋值或传递时,封装的数据将会被拷贝而不是被引用。
- 3.该数据结构中储存的值类型属性,也应该被拷贝,而不是被引用。
- 4.该数据结构不需要去继承另一个既有类型的属性或者行为。
举例来说,以下情境中适合使用结构体:
- 1.几何形状的大小,封装一个width属性和height属性,两者均为Double类型。
- 2.一定范围内的路径,封装一个start属性和length属性,两者均为Int类型。
- 3.三维坐标系内一点,封装x,y和z属性,三者均为Double类型。
这次就讲到这里,下次我们继续