Condividi tramite


Modificatore hide

Dichiara che un metodo o una proprietà nasconde un metodo o una proprietà di una classe base.

hide statement

Argomenti

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

Note

Il modificatore hide viene utilizzato per un metodo che nasconde un metodo appartenente alla classe base. Non è consentito utilizzare il modificatore hide per un metodo se la relativa classe base non contiene un membro con la stessa firma.

Le classi e i metodi e le proprietà in esse specificate possono essere contrassegnate con il modificatore hide. Le classi, i campi, le interfacce e i membri delle interfacce non possono essere contrassegnati con il modificatore hide.

Non è possibile combinare il modificatore hide con l'altro modificatore version-safe (override). 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 nascondere un metodo abstract se non si fornisce un'implementazione esplicita per il metodo astratto di base. 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 hide. Il metodo della classe derivata contrassegnato con il modificatore hide non esegue l'override del metodo della classe base. Il metodo contrassegnato con override esegue invece 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 nascosto non 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 override

Modificatore static

Istruzione var

Istruzione function

Istruzione class

/versionsafe

Concetti

Ambito di variabili e costanti

Annotazione di tipi

Altre risorse

Modificatori