Swift计算属性
一、计算属性的概念 计算属性本身不存储数据,而是从其它存储属性中计算得到数据,与存储属性不同,类、结构体、和枚举都可以定义计算属性 计算属性提供了一个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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |