Condividi tramite


Modificatore override

Dichiara che un metodo o una proprietà esegue l'override di metodo o una proprietà di una classe base.

override statement

Argomenti

  • statement
    Obbligatorio. Definizione di un metodo o di una proprietà.

Note

Il modificatore override viene utilizzato per un metodo che esegue l'override di un metodo appartenente a una classe base. Non è consentito utilizzare il modificatore override per un metodo se la relativa classe base non contiene un membro con la stessa firma.

I metodi e le proprietà specificati nelle classi possono essere contrassegnati con il modificatore override. Le classi, i campi, le interfacce e i membri delle interfacce non possono essere contrassegnati con il modificatore override.

Non è possibile combinare il modificatore override con l'altro modificatore version-safe (hide). I modificatori version-safe non possono essere combinati con il modificatore static. Per impostazione predefinita, un metodo esegue l'override di un metodo della classe base se questo non è contrassegnato con il modificatore final. Non è possibile eseguire l'override di un metodo final. In modalità version-safe, è necessario utilizzare un solo modificatore version-safe ogni volta che viene eseguito l'override di un metodo della classe base.

Esempio

Nell'esempio riportato di seguito viene illustrato un utilizzo del modificatore override. Il metodo della classe derivata contrassegnato con il modificatore override esegue l'override del metodo della classe base. Il metodo contrassegnato con il modificatore hide non esegue l'override del metodo della classe base.

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();

Dall'output di questo programma risulta che un metodo override esegue l'override di un metodo della classe base.

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

Requisiti

Versione .NET

Vedere anche

Riferimenti

Modificatore hide

Istruzione var

Istruzione function

Istruzione class

Concetti

Ambito di variabili e costanti

Annotazione di tipi

Altre risorse

Modificatori