1.类和结构体对比
Swift 中类和结构体有很多共同点。共同处在于:
• 定义属性用于存储值
• 定义方法用于提供功能
• 定义下标操作使得可以通过下标语法来访问实例所包含的值
• 定义构造器用于生成初始化值
• 通过扩展以增加默认实现的功能 • 实现协议以提供某种标准功能
与结构体相比,类还有如下的附加功能:
• 继承允许一个类继承另一个类的特征
• 类型转换允许在运行时检查和解释一个类实例的类型 • 析构器允许一个类实例释放任何其所被分配的资源
• 引用计数允许对一个类的多次引用
类是引用类型,结构体是值类型,swift的String,Array,Dicationary都是通过结构体实现的,都是值类型。
2.定义语法
class SomeClass {
// 在这里定义类
}
struct SomeStructure {
// 在这里定义结构体
}
3.结构体类型的成员逐一构造器
所有结构体都有一个自动生成的成员逐一构造器,用于初始化新结构体实例中成员的属性。新实例中各个属性的
初始值可以通过属性的名称传递到成员逐一构造器之中。
4.恒等运算符
• 等价于(===)
• 不等价于( !== )
运用这两个运算符检测两个常量或者变量是否引用同一个实例。
当你在定义你的自定义类和结构体的时候,你有义务来决定判定两个实例“相等”的标准。