类与结构体的计算属性
/*定义一个点*/
struct Point {
var x:Double!,y:Double!
}
/*定义矩形的宽高*/
struct Size {
var width:Double!,height:Double!
}
/*定义一个矩形*/
struct Rect {
var origin=Point()
var size=Size()
var center:Point{
get{
let centerX=origin.x+(size.width/2)
let centerY=origin.y+(size.height/2)
return Point(x: centerX, y: centerY)
}
set(newCenter){
origin.x=newCenter.x-(size.width/2)
origin.y=newCenter.y-(size.height/2)
}
}
}
var rectangular=Rect(origin: Point(x: 0, y:0), size: Size(width: 2, height: 2))
print(rectangular.center)
下标脚本
关键词subscript
/*下标脚本*/
struct TimeTable {
let multiplier:Int
subscript (index:Int)->Int{
return multiplier*index
}
}
let fourTimeTable=TimeTable(multiplier: 4)
print(fourTimeTable[8])//32