Swift类是构建代码所用的一种通用且灵活的构造体,可以为类定义属性(常量、变量)和方法。与其他变成语言所不同的是swift并不要求为自定义类去创建独立的接口和实现文件,你所要做的是在一个单一文件中定义一个类,系统会自动生成面向其他代码的外部接口
类和结构体对比
共同点:
- 定义属性用于存储值
- 定义方法用于提供功能
- 定义附属脚本用于访问值
- 定义构造器用于生成初始化值
- 通过扩展以增加默认实现的功能
- 符合协议已对某类提供标准功能
与结构体相比,类还有如下的附加功能
- 继承允许一个类继承一个类的特征
- 类型转换允许在运行时检查和解释一个类实例的类型
- 解构器允许一个类实例释放任何其所被分配的资源
语法
1 | class className { |
类定义
1 | class Student{ |
类实例
1 | let student1 = Student() |
构造方法
1 | // 注意:如果自定义了构造方法,并且没有重写父类默认的构造方法,那么默认的构造方法就会失效 |
访问属性
1 | let student1 = Student.init(name: "daisuke", age: 10) |
恒等运算符
因为类是引用类型,有可能多个常量和变量在后台同事引用某一个实例,为了能够判断两个常量或者变量时候引用同一个类实例,swift内建了两个恒等运算符
横等运算符 | 不恒等运算符 |
---|---|
运算符为:=== | 运算符为:!== |
如果两个常量或者变量引用同一个类实例则返回true | 如果两个常量或者变量引用不同一个类实例则返回true |
1 | let stu1 = Student.init(name: "daisuke", age: 10) |