PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

オーバーライド

 オーバーライドとは、オブジェクト指向プログラミングにおいて用いられるコーディングであり、親クラスで定義されたメソッド子クラスで再度定義することで、メソッドを上書きし機能を変更することです。これはオブジェクト指向プログラミングによるポリモーフィズム(多態性)を表現する上でも、基本的な方法です。
 オーバーライドを行うには、親クラス子クラスにおいて、メソッドの名称、引数の個数とそのデータ型メソッド戻り値データ型が全て同じにする必要があります。この条件さえ満たせば、インスタンスから呼び出されたメソッドは自動的にオーバーライドされます。
 具体例を挙げれば、「動物」という親クラスに対して、子クラス「犬」、「馬」が定義されたとします。「動物」クラスには走るメソッドRunがあり、子クラスでもそれぞれ同名のメソッドを持ちます。「動物」型のクラスAnimalに「犬」クラスと「馬」クラスのインスタンスを代入したとします。そして以下の記述を行います。
 Animal->Run();
 この時、Animalのインスタンスが犬クラスの場合は、犬クラス内のRun()メソッドが実行され、馬クラスの場合は馬クラスのものが実行されます。同じ記述でも異なる処理が実行されることになります。
 オーバーロードと似ている名称ですが、異なる概念です。

用語集一覧へ戻る