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é astratti né finali. 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
Vedere anche
Riferimenti
Concetti
Ambito di variabili e costanti