final (Modificador)
Declara que una clase no se puede ampliar o que un método o propiedad no se puede reemplazar.
final statement
Argumentos
- statement
Obligatorio. Definición de una clase, un método o una propiedad.
Comentarios
El modificador final se utiliza para especificar que una clase no se puede ampliar o que un método o propiedad no se puede reemplazar. De este modo, se evita que otras clases cambien el comportamiento de la clase reemplazando funciones importantes. Los métodos con el modificador final se pueden ocultar o sobrecargar con métodos de clases derivadas.
Los métodos y propiedades de clases y las clases se pueden marcar con este modificador. Las interfaces, los campos y los miembros de interfaz no pueden tomar el modificador final.
El modificador final no puede combinarse con el otro modificador de herencia (abstract). De manera predeterminada, los miembros de clase no son ni abstract ni final. Los modificadores de herencia no se pueden combinar con el modificador static.
Ejemplo
El siguiente ejemplo muestra un uso del modificador final. Este modificador evita que un método de la clase base se reemplace con métodos de las clases derivadas.
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();
El resultado de este programa muestra que el método final no se reemplaza:
Final methodA of CBase.
methodB of CDerived.
Requisitos
Vea también
Referencia
Conceptos
Ámbito de variables y constantes