原創(chuàng)文章舟扎,歡迎轉(zhuǎn)載分飞。轉(zhuǎn)載請注明:關(guān)東升的博客
Swift中的屬性分為存儲屬性和計算屬性,存儲屬性就是Objective-C中的數(shù)據(jù)成員睹限,計算屬性不存儲數(shù)據(jù)譬猫,但可以通過計算其他屬性返回數(shù)據(jù)讯檐。
存儲屬性可以存儲數(shù)據(jù),分為常量屬性(用關(guān)鍵字let定義)和變量屬性(用關(guān)鍵字var定義)染服。
存儲屬性概念:
我們在前面曾用到過屬性裂垦,Employee類和Department結(jié)構(gòu)體。它們的類圖如下肌索,Employee 的部門屬性dept與Department之間進行了關(guān)聯(lián)。?
我們可以在定義存儲屬性時指定默認(rèn)值特碳,示例代碼如下:
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?????????? ??//編譯錯誤?:修改常量屬性诚亚,程序會發(fā)生編譯錯誤
let dept = Department()
dept.name = "SALES"?????????? //編譯錯誤:dept是值類型,值類型不能修改午乓,即便它的屬性name是變量屬性站宗,也不能修改
let emp1 = Employee()
emp1.name =? "Tony"