Condividi tramite


Modificatore final

Dichiara che una classe non può essere estesa o che un metodo o una proprietà non può essere sottoposta a override.

final statement

Argomenti

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

Note

Il modificatore final viene utilizzato per specificare che una classe non può essere estesa o che un metodo o una proprietà non può essere sottoposta a override. Questo modificatore impedisce che le classi derivate modifichino il comportamento della classe eseguendo l'override di funzioni importanti. I metodi che impiegano il modificatore final possono essere nascosti o sottoposti a overload da metodi delle classi derivate.

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

Non è possibile combinare il modificatore final con l'altro modificatore di ereditarietà (abstract). Per impostazione predefinita, i membri delle classi non sono né astrattifinali. I modificatori di ereditarietà non possono essere combinati con il modificatore static.

Esempio

Nell'esempio riportato di seguito viene illustrato un utilizzo del modificatore final. Tale modificatore impedisce che il metodo della classe base sia sottoposto a override dai metodi della classe derivata.

class CBase {
   final function methodA() { print("Final methodA of CBase.") };
   function methodB() { print("Non-final methodB of CBase.") };
}

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

var baseInstance : CBase = new CDerived;
baseInstance.methodA();
baseInstance.methodB();

Dall'output di questo programma risulta che il metodo finale non è sottoposto a override

Final methodA of CBase.
methodB of CDerived.

Requisiti

Versione .NET

Vedere anche

Riferimenti

Modificatore abstract

Modificatore hide

Modificatore override

Istruzione var

Istruzione function

Istruzione class

Concetti

Ambito di variabili e costanti

Annotazione di tipi

Altre risorse

Modificatori