原创文章,欢迎转载。转载请注明:关东升的博客
Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。
存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。
存储属性概念:
我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,Employee 的部门属性dept与Department之间进行了关联。
我们可以在定义存储属性时指定默认值,示例代码如下:
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"