LoginSignup
2
3

More than 5 years have passed since last update.

overrideを理解する

Posted at

修飾子のoverrideについて理解をする。

そのために次のような状況を想定します。
電車のクラスとそれを継承した新幹線のクラスを作るとします。
電車はプロパティとして最大速度を持っています。

class train {
    var maxspeed :Int

    init(){   
    maxspeed = 80

    }
}

let enoden = train()
print(enoden.maxspeed)  //80

インスタンスとして江ノ電をつくってみました。
たまたま新幹線で投稿してるので電車になってますが詳しくないので速度は適当です。
trainクラスでイニシャライズされているためmaxspeedが80となっています

新幹線クラスを作ってみます。これはtrainクラスを継承させます。
ただ新幹線は最大速度を320とします。

class shinkansen :train{
    override init(){  //オーバーライド
        super.init()
        self.maxspeed = 320
    }

}

let nozomi = shinkansen()
print(nozomi.maxspeed) //320

継承されたmaxspeedに320という値がイニシャライズされています。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3