1.Swift中的属性分为两种:存储属性(用于类、结构体)和计算属性(用于类、结构体、枚举),并且在Swift中并不强调成员变量的概念。
2.存储属性相当于原来OC的成员变量,但是不同的是可以控制读写操作、通过属性监视器来监视属性的变化以及快速实现懒加载功能。
计算属性总结:
- 1.set方法中的newValue,表示即将赋的新值,可以自己设置set中的newValue变量
- 2.计算属性并不直接存储一个值,而是提供getter来获取一个值,或者利用setter来间接设置其他属性(文档原文)
class Person {
//1.存储属性
var name: String = ""
var age: Int = 0
var mathScore :Double = 0.0
var chineseScore : Double = 0.0
//最终成绩, 存储属性
private var score: Double = 0.0
//2.计算属性
var avarageScore : Double {
// 如果只有get方法,那么get{}可以省略
get {
return (mathScore + chineseScore) * 0.5
}
set {
//监听avarageScore 的变化,将值赋值给score
score = newValue
}
}
}