Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。
存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。
存储属性概念:
我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee 的部门属性dept与Department之间进行了关联。
我们可以在定义存储属性时指定默认值,示例代码如下:
- <span style="font-size:14px;">class Employee {
- let no: Int = 0
- var name: String = ""
- var job: String?
- var salary: Double = 0
- var dept: Department?
- }
- struct Department {
- let no: Int = 0
- var name: String = ""
- }
- let emp = Employee()
- emp.no = 100 //编译错误 :修改常量属性,程序会发生编译错误
- let dept = Department()
- dept.name = "SALES" //编译错误:dept是值类型,值类型不能修改,即便它的属性name是变量属性,也不能修改
- let emp1 = Employee()
- emp1.name = "Tony"
- </span>