加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift计算属性

发布时间:2020-12-14 02:45:54 所属栏目:百科 来源:网络整理
导读:一、计算属性的概念 计算属性本身不存储数据,而是从其它存储属性中计算得到数据,与存储属性不同,类、结构体、和枚举都可以定义计算属性 计算属性提供了一个getter来获取值,以及一个可选的setter来间接设置其它属性或变量的值,计算属性的语法如下: 面向


一、计算属性的概念


计算属性本身不存储数据,而是从其它存储属性中计算得到数据,与存储属性不同,类、结构体、和枚举都可以定义计算属性


计算属性提供了一个getter来获取值,以及一个可选的setter来间接设置其它属性或变量的值,计算属性的语法如下:


面向对象类型 类型名{

存储属性...

var 计算属性名:属性数据类型{

get {

return 计算后属性值

}

set 新属性值{


}


}

示例:

classEmployee{
varno:Int=0
varfirstName:String=""
varlastName:String=""
varjob:String?
varsalary:Double=0
lazyvardept:Department=Department()
varfullname:String{
get{
returnfirstName+"."+"lastName"
}
set(newFullName)系统默认给的变量名为newvalue{
varname=newFullName.componentsSeperatedByString(".")
firstName=name[0]
lastName=name[1]
}
}
}


二、只读计算属性

计算属性可以只有getter访问器,没有setter访问器,这就是只读计算属性


示例:


classEmployee{
varno:Int=0
varfirstName:String=""
varlastName:String=""
varjob:String?
varsalary:Double=0
lazyvardept:Department=Department()
varfullname:String{
get{
returnfirstName+"."+"lastName"
}

}
}



三、结构体和枚举中的计算属性


示例


struct Department {

let no:Int = 0

var name : String = "sales"


var fullName:String {

return "swift" + name + ".D"

}

}


var dept = Department()

println(dept.fullName)


enum WeekDays:String {

case Monday = "Mon"

case Tuesday = "Tue"

case Wednesday = "Wed"

case Thursday = "Thu"

case Friday = "Fri"

var message:String {

return "Today is"+self.rawValue

}

}

var day = WeekDays.Monday

println(day.message)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读