Swift 入門 | クラスの基本 | 計算プロパティ
継承のほかにも覚えておくべき機能がいくつかある。ここでは計算プロパティについて説明する。
プロパティは、クラスに値を保存する変数である。値をそのまま入れ替えられるため、許可された範囲でどのような値でも保持できる。計算プロパティを使うと、値の読み書きをプログラムで制御できる。
計算プロパティは次のように記述する。
var プロパティ : 型 {
get {
... 処理 ...
return 値
}
set {
... 処理 ...
}
}
プロパティ宣言の後に波かっこを記述し、その中に get と set のブロックを用意して値の読み書きを定義する。get だけを記述すると、読み取り専用のプロパティになる。
次に計算プロパティを使う例を示す。
class Friend {
var name:String
var old:Int
var age:Int {
get {
return old
}
set {
if newValue > 0 {
old = newValue
}
}
}
init(name:String, age:Int) {
self.name = name
self.old = age
}
func printData() {
print("\(self.name) (\(age))")
}
}
var you = Friend(name: "Taro", age: 30)
you.printData()
この例では age という計算プロパティを使っている。実際の値は old プロパティに保存する。計算プロパティで内部の値を保持する場合は、このように実際の保存場所を別に用意する必要がある。