別のクラスから継承されるクラスのことを、ベースクラスと呼びます。
NOTE
Swift のクラスは、共通のベースクラスから継承しません。スーパークラスを指定せずに定義するクラスは、自動的にベースクラスになります。
次の例では、ベースクラス Vehicle
を定義しています。このベースクラスは、ストアドプロパティ currentSpeed
を定義し、デフォルト値は 0.0
(Double
型と推論)です。currentSpeed
プロパティの値は、乗り物の説明を生成する読み取り専用のコンピューテッド String
プロパティ description
によって利用されます。
ベースクラス Vehicle
は、makeNoise
メソッドも定義しています。このメソッドは、ベースの Vehicle
インスタンスでは実際には何もしませんが、後で Vehicle
のサブクラスによってカスタマイズされます。
class Vehicle {
var currentSpeed = 0.0
var description: String {
return "traveling at \(currentSpeed) miles per hour"
}
func makeNoise() {
// 何もしない - 乗り物は必ずしも音を立てない
}
}
TypeName
に空の丸括弧を続けて記述するイニシャライザシンタックスで、Vehicle
の新しいインスタンスを生成します。
let someVehicle = Vehicle()
新しい Vehicle
インスタンスを生成して、乗り物の現在速度の説明を出力する description
プロパティにアクセスすることができます。
print("Vehicle: \(someVehicle.description)")
// Vehicle: traveling at 0.0 miles per hour
Vehicle
クラスは、任意の乗り物に共通の特徴を定義していますが、それ自体ではあまり役に立ちません。より役立たせるために、特定の種類の乗り物を表現するよう改良する必要があります。
Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.