final, modificateur
Déclare qu'une classe ne peut pas être étendue ou qu'une méthode ou une propriété ne peut pas être substituée.
final statement
Arguments
- statement
Obligatoire. Une définition de classe, de méthode ou de propriété.
Notes
Le modificateur final sert à spécifier qu'une classe ne peut pas être étendue ou qu'une méthode ou une propriété ne peut être substituée. L'utilisation de ce modificateur empêche d'autres classes de modifier le comportement de la classe en substituant des fonctions importantes. Les méthodes avec le modificateur final peuvent être masquées ou surchargées par des méthodes de classes dérivées.
Les méthodes et les propriétés des classes ainsi que les classes peuvent être marquées avec le modificateur final. Les interfaces, les champs et les membres d'interfaces ne peuvent pas accepter le modificateur final.
Vous ne pouvez pas associer le modificateur final avec l'autre modificateur d'héritage (abstract). Par défaut, les membres des classes ne sont ni abstract ni final. Il est impossible de combiner les modificateurs d'héritage avec le modificateur static.
Exemple
L'exemple ci-dessous illustre une utilisation du modificateur final. Le modificateur final empêche la méthode de classe de base d'être substituée par des méthodes de la classe dérivée.
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();
Le résultat généré par le programme montre que la méthode final n'est pas substituée :
Final methodA of CBase.
methodB of CDerived.
Configuration requise
Voir aussi
Référence
Concepts
Portée des variables et des constantes