Logali Training
Widening Cast

Widening Cast

¿Cómo se utiliza Widening Cast?

Cuando asignamos la instancia de la superclase a la subclase se llama Widening Cast porque nos estamos moviendo de la «Vista más específica» a la «Vista menos específica».

No es posible mover siempre la referencia de la superclase a la subclase, porque la subclase podría tener más funcionalidad en comparación con la superclase. Por lo tanto, tenemos que ser más cuidadosos cuando usamos Widening Cast. El error se puede capturar con CX_SY_MOVE_CAST_ERROR.

En este artículo vamos a aprender a utilizar Widening Cast y vamos a ver su funcionalidad.

En un programa ejecutable se va a crear una jerarquía de dos clases (ANIMAL y LEON). En la clase superior definimos el método ANDAR y en la implementación del método creamos una sentencia WRITE indicando que “El Animal anda”. En la clase hija redefinimos el mismo método e implementamos una sentencia WRITE indicando que “El león anda”. Utilizamos Widening Cast para asignar una instancia de la clase hija en una referencia de la clase superior y llamamos al método ANDAR de la referencia ANIMAL en el evento START-OF-SELECTION.

¿Quién anda?

Aunque llamamos a un método de la clase superior sobre una referencia de la clase superior se va ejecutar el método de la clase hija. Porque con la asignación Widening Cast estamos en realidad apuntando al objeto de la clase hija. Por tanto, El León anda.

Gheorghe Valer Scurtu

4 comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Cursos Destacados

Síguenos

Si desea estar informado de nuestros nuevos cursos, obtener promociones o desea recibir algún tipo de información.