一、存储属性:
结构简单,可以直接为属性赋值、取值。
var 属性名:类型!
1.1延迟存储属性:
是指当第一次被调用的适合才会计算其初始值的属性。在属性声明前使用lazy来表示一个延迟存储属性
1.2延迟存储属性说明:
一般用于比较复杂的属性(比如说一个较为繁杂类的对象),为了节省资源。
列如:pk游戏
char类,包含skill类 属性,做为玩家或怪物的技能属性。
假如,skill类特别复杂,他得一个对象占有1G内存。
二、计算属性:
2.1概念:
结构相对复杂,使用getter取值器或setter赋值器间接为属性取值、赋值。
2.2 格式:
class 类名:...{
var 计算属性名{
get{
...
return 属性值
}
set{
赋值语句
}
}
2.3 只读计算属性
只有getter 没有setter 的计算属性就是只读计算属性。只读计算属性总是返回一个值,可以通过点运算符访问,弹不能设置新的值。