Swiftによるオブジェクト指向プログラミング
Swift では、クラス(class)は参照型(reference type)、構造体(struct)は値型(value type)です。
robot.swift
class Robot {
static let version = "Robot1.0"
var (x, y):(Double, Double)
var location:(Double, Double) {
set(parameter) { (self.x, self.y) = (parameter.0, parameter.1) }
get { return (x, y) }
}
init(x:Double = 0, y:Double = 0) {
(self.x, self.y) = (x, y)
}
func move(dx:Double, dy:Double) {
x += dx
y += dy
}
func show() {
print("x =",x)
print("y =",y)
print("(x, y) = (\(x), \(y))")
}
}
print(Robot.version)
let robot0 = Robot()
robot0.location = (0, 0)
print(robot0.location)
robot0.move(dx:1, dy:1)
robot0.show()
let robot1 = Robot(x:0, y:0)
robot1.move(dx:1, dy:1)
robot1.show()
〈コンパイルと実行〉
$ swiftc -O robot.swift -o robot $ ./robot
参考サイト