Swift 有一种特殊的属性
一般像oc java 等中的属性是用来存储值的。都是直接定义,赋值使用
Swift中的运算属性并不是直接用来存储值的,而是类似于函数的作用。他里面封装了getter和setter方法。
比如我们举一个例子,正方形类,我们只要有边长的属性,那么周长是不是直接边长*4 即可,同理只要知道周长,周长/4 也能得到边长。
此时我们就可以将周长定义为一个运算属性。
创建一个正方形类
- class Square{
- var width = 0
- var round:Int{
- get{
- return width*4
- }
- set{
- width=newValue/4
- }
- }
- }
属性 round 就是一个运算属性
我们可以试一下
- var s=Square()
- s.width=12
- println(s.round)
- s.round=36
- println(s.width)