Herencia – ActionScript 3.0

La herencia es una relación entre clases.
Permite que una clase herede la funcionalidad de otra (propiedades y métodos).

A la clase superior se la conoce como clase superior o clase base. La clase que hereda se la conoce como subclase o extensión.
Una subclase solo puede tener una superclase.

Cuanto más se baja en la cadena de herencia se vuelven más especializadas las clases.

Desde una subclase no se puede acceder a las propiedades privadas de la superclase.

Podemos usar protected para acceder desde la subclase a una propiedad de la superclase, pero no permitir su acceso desde otros lugares.

Public: permite acceder a propiedades y métodos desde cualquier sitio (miembros y clases)
Protected: permite acceder desde dentro de la clase y sus subclases. (miembros)
Private: solo permite desde la propia clase. (miembros)
Internal: solo permite acceder desde el mismo paquete (miembros y clases)

* miembro: propiedades y métodos

Atributos de clase

final
dynamic
internal
public

El atributo final se usa para que no se pueda heredar de una clase.
Dynamic indica que esa clase puede tener propiedades dinámicas (ej. Object, MovieClip).

LOS MÉTODOS Y PROPIEDADES ESTÁTICOS NO SE HEREDAN

Override
Si creamos un método en la subclase con el mismo nombre que en la superclase nos sale un error para evitar problemas.
Para sobreescribir un método de la superclase tenemos que marcarla como override en la subclase, después podremos ejecutar el código del método de la superclase escribiendo super.

Actionscript:
public override function metodo() : void
{
    trace("Método de la clase base");
}

Si además queremos que se ejecute el código de la clase superior al hacer el override podemos usar super.
Para poder ocultar un método con override el método debe tener la misma firma que la superclase (exacta).

Actionscript:
public override function metodo() : void
{
    super.metodo();
    trace("Método de la subclase");
}

Cuando hablamos de herencia podemos decir: "Es un..."
Ej. Un Ferrari es un deportivo que a su vez es un coche

Donde utilizamos una superclase podemos usar una subclase.

Deja tu opinión