美文网首页《从零开始学Swift》学习笔记连载小说
《从零开始学Swift》学习笔记(Day 31)——存储属性

《从零开始学Swift》学习笔记(Day 31)——存储属性

作者: tony关东升 | 来源:发表于2015-11-23 09:49 被阅读105次

原创文章,欢迎转载。转载请注明:关东升的博客
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"

相关文章

网友评论

  • Liberalism:你好,我也在学Swift,只是觉得不是很明白,属性是很常用的,到这块儿不知道是惯性思维还是愚钝,总理解的不透彻
    Liberalism:@tony关东升 好的 多谢,昨晚已经搞懂.
    会持续关注你的简书新篇
    tony关东升:@Liberalism 属性很长用,特别是内存管理,简化代码。

本文标题:《从零开始学Swift》学习笔记(Day 31)——存储属性

本文链接:https://www.haomeiwen.com/subject/gmmlhttx.html