別のクラスから継承されるクラスのことを、ベースクラスと呼びます。

NOTE
Swift のクラスは、共通のベースクラスから継承しません。スーパークラスを指定せずに定義するクラスは、自動的にベースクラスになります。

次の例では、ベースクラス Vehicle を定義しています。このベースクラスは、ストアドプロパティ currentSpeed を定義し、デフォルト値は 0.0Double 型と推論)です。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.