override 修飾子

メソッドまたはプロパティが、基本クラスのメソッドまたはプロパティをオーバーライドすることを宣言します。

override statement

引数

  • statement
    必ず指定します。 メソッドまたはプロパティの定義。

解説

override 修飾子は、基本クラスのメソッドをオーバーライドするメソッドに対して使用します。 基本クラスに同じシグネチャのメンバーがない場合、override 修飾子は使用できません。

override 修飾子は、クラスのメソッドとプロパティに指定できます。 クラス、フィールド、インターフェイス、およびインターフェイスのメンバーには、override 修飾子を使用できません。

override 修飾子は、ほかのバージョン セーフ修飾子 (hide) と共に使用することはできません。 バージョン セーフ修飾子は、static 修飾子と共に使用することはできません。 既定では、基本クラスのメソッドに final 修飾子がない場合、メソッドは基本クラスのメソッドをオーバーライドします。 final メソッドはオーバーライドできません。 バージョン セーフ モードで実行されている場合は、基本クラスのメソッドをオーバーライドするときに、バージョン セーフ修飾子のいずれかを使用する必要があります。

使用例

次のコードは、override 修飾子の使用例です。 override 修飾子を指定された派生クラスのメソッドは、基本クラスのメソッドをオーバーライドします。 hide 修飾子を指定されたメソッドは、基本クラスのメソッドをオーバーライドしません。

class CBase {
   function methodA() { print("methodA of CBase.") };
   function methodB() { print("methodB of CBase.") };
}

class CDerived extends CBase {
   hide function methodA() { print("Hiding methodA.") };
   override function methodB() { print("Overriding methodB.") };
}


var derivedInstance : CDerived = new CDerived;
derivedInstance.methodA();
derivedInstance.methodB();

var baseInstance : CBase = derivedInstance;
baseInstance.methodA();
baseInstance.methodB();

このプログラムの出力は、override メソッドが基本クラスのメソッドをオーバーライドすることを示しています。

Hiding methodA.
Overriding methodB.
methodA of CBase.
Overriding methodB.

必要条件

バージョン .NET

参照

参照

hide 修飾子

var ステートメント

function ステートメント

class ステートメント

概念

変数と定数のスコープ

型の注釈

その他の技術情報

修飾子