x
を受け入れ、Int
を受け入れるセッターとDouble
を受け入れるセッターを持つことは可能ですか?異なるタイプのプロパティーセッター
class Test(x: Float) {
var x: Float = x
get() {
return field
}
set(value) { // 'value' is of type 'Float'
field = value
}
}
理由:私はx
に新しい値を代入したい場合は、私は常にすべての割り当てにf
接尾を追加する必要があり、すなわち
var v = Test(12f)
v.x = 11 // error: 'The integer literal does not conform to the expected type Float'
v.x = 11.0 // error: 'The floating-point literal does not conform to the expected type Float'
v.x = 11f // ok
これは、プロパティが浮動小数点でなければならないことを呼び出し元が認識していないため、バグが発生しないようにするのに適しています。 floatの代わりにdoubleを使用する以外は、コードに何も変更しないでください。 –