swift中的属性分为两
类:存储
属性和计算
属性
1.存储属性(包含实例
存储属性和类型
存储属性):把常量或变量的值作为实例的一部分,可以直接读写赋值。变量可用var
或者let
关键字定义,用var
定义的属性为变量
存储属性,用let
定义的属性为常量
存储属性
2.计算属性:不直接存储值,本身只起计算作用
,没有具体
的值,提供一个getter
来获取值,类似于方法
的功能
class Pet
{
var age = 12
var name = "小花"
var kind = "法斗"
//定义计算属性的getter方法,该方法的返回值由age、name、kind三个存储属性决定
var petInfo:String{
get {
return "this is a pet which name is \(name),age is \(age), kind is \(kind)"
}
set (newInfo)
{
}
}
}
//创建一个实例
let pet = Pet.init()
print(pet.petInfo)//调用get方法
//this is a pet which name is 小花,age is 12, kind is 法斗
pet.petInfo = "this is a pet which name is laoqi,age is 2, kind is taidi"//调用set方法
print(pet.petInfo)
//this is a pet which name is laoqi,age is 2, kind is taidi
存储属性和计算属性比较:
- 计算属性可以用于类、结构体和
枚举
,存储属性只能用于类和结构体。 - 存储属性可以是
变量
存储属性(用关键字var
定义),也可以是常量
存储属性(用关键字let
定义),而计算属性只能用var
定义 - 计算属性
不直接
存储值,而是提供一个getter
和一个可选的setter
,来间接
获取和设置其他属性或变量的值
网友评论