「Unity C#」overrride virtual

 

 

本日はクラスの継承について学んだ

 

それを細かく説明するのではなく初めてみる人でもわかるように記事にして行こうと思う。

 

 

・virtual

 

これをつけたメソッドはオーバライド(上書き)していいよという印。

スーパークラス(元のクラス)のメソッドにつける。

そのメソッドは上書きをしなくてもサブクラスでそのまま使うこともできる。

 

そして「virtual」を付け、オーバーライドを許可したメソッドのことを「仮想メソッド」と呼ぶらしい。

 

 

  • override

 

このメソッドはオーバライド(上書き)しますよという宣言のようなもの。

サブクラスのメソッドにつける。

これを付けないとオーバーライドすることができない。

 

 

継承したクラスの多態性を実現するのが「オーバーライド」。

継承した新しいクラス(サブクラス)では、勿論継承元のクラス(スーパークラス)のメソッドを使うことができる。その時サブクラス上で新しくメソッドを作成することもできるが、スーパークラスのメソッドを上書きすることもできる。

それが「オーバーライド」

 

 

 

調べていて間違えやすいのがオーバーロードとオーバーライドで

 

・同じクラス内で違う動きのする同じ名前のメソッドを作るのが「オーバーロード

 

・別のクラスで、メソッドを上書きするのが「オーバーライド」

 

らしい

 

今日はここまで!