10.类和结构体

2021-07-16  本文已影响0人  LucXion

Swift 中结构体和类有很多共同点。两者都可以:(属性、方法、下标、构造器、协议、扩展)

  1. 定义属性用于存储值
  2. 定义方法用于提供功能
  3. 定义下标操作用于通过下标语法访问它们的值
  4. 定义构造器用于设置初始值
  5. 通过扩展以增加默认实现之外的功能
  6. 遵循协议以提供某种标准功能

与结构体相比,类还有如下的附加功能:(继承、类型转换、析构、引用类型)

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

作为一般准则,优先使用结构体,因为它们更容易理解,仅在适当或必要时才使用类。实际上,这意味着你的大多数自定义数据类型都会是结构体和枚举。

结构体

struct Point {
    var x = 0
    var y = 0
}
var a = Point.init(x: 5, y: 6)// 自动生成逐一属性构造器,let结构体实例不能修改内部属性的值
var b = a // 值类型引用,拷贝全新副本
b.x = 10086
print(a.x) // 5
// 结构体属于值类型。当值类型的实例被声明为常量的时候,它的所有属性也就成了常量。

恒等号 ===

用于判断两个引用类型的实例是否引用同一块内存

上一篇 下一篇

猜你喜欢

热点阅读