type
status
date
slug
summary
tags
category
icon
password
example-row
example-row
类和结构体对比
在swift中,类和结构体有很多共同点:
- 可以定义属性用于存储值。
- 可以定义方法用于提供功能。
- 可以定义下标操作用于通过下标语法访问它们的值。
- 可以定义构造器用于设置初始值。
- 可以通过扩展以增加默认实现之外的功能。
- 可以遵循协议以提供某种标准功能。
类有结构体所不具有的特性:
- 允许一个类继承另一个类的特征。
- 类型转换允许在运行时检查和解释一个类实例的类型。
- 析构器允许一个类实例释放任何其所被分配的资源。
- 引用计数允许对一个类的多次引用。
定义
使用
- 可以通过使用点语法访问实例的属性。
- 所有结构体都有一个自动生成的成员逐一构造器,用于初始化新结构体实例中成员的属性;类实例没有默认的成员逐一构造器。
- Swift 中所有的结构体和枚举类型都是值类型。它们的实例,以及实例中所包含的任何值类型的属性,在代码中传递的时候都会被复制。
- Swift 中所有的基本类型:整数(integer)、浮点数(floating-point number)、布尔值(boolean)、字符串(string)、数组(array)和字典(dictionary),都是值类型,其底层也是使用结构体实现的。
- 类是引用类型。引用类型在被赋予到一个变量、常量或者被传递到一个函数时,其值不会被拷贝,使用的是已存在实例的引用。
恒等运算符
Swift 提供了两个恒等运算符:相同(
===
)、不相同(!==
)。判定两个常量或者变量是否引用同一个类实例有时很有用。- “相同(
===
)”表示两个类类型(class type)的常量或者变量引用同一个类实例。
- “等于”表示两个实例的值“相等”或“等价”,判定时要遵照设计者定义的评判标准。
- 作者:黄x黄
- 链接:https://hxhowl.site/article/swift014
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章