プログラム

オーバーライド(override)とは

2021年7月23日

オーバーライド(override)

オーバーライド(英:override)とは、オブジェクト指向プログラミングにおいて親クラス(スーパークラス)で定義したメソッドを継承した子クラス(サブクラス)で書き換えることです。

継承とは

継承とは、クラスが持っている機能(変数やメソッド)を他のクラスに引き継がせることです。このとき継承元のクラスを親クラス(またはスーパークラス)、継承先のクラスを子クラス(またはサブクラス)といいます。

親クラスの機能を子クラスに引き継がせるので、子クラスは親クラスの機能が使えるようになります

継承のイメージ例

 

次の図は継承の使用例です。車クラスの共通部品は車の親クラスで管理しています。そのため、子クラスには子クラス独自の処理を書くだけです。

継承のイメージ例2

継承を利用することで、同じソースコードを色々なところに書かずに済みます。(継承を利用していない場合「車A」と「車B」に「メソッドA」と「メソッドB」を書く必要がある)

オーバーライドとは

継承したとき、親クラスのメソッドがそのままでは使えない場合があります。このようなとき、オーバーライドが非常に便利です。

オーバーライドすると、親クラスのメソッドの処理を書き換えることができます。オーバーライドを可能とする条件として、メソッドの名前、引数の数と型などが統一されている必要があります。

オーバーライドのイメージ例

helpful