Archivos de Categoría: Herencia, Casting y Clase Amiga

Herencia con clase amiga

¿Cómo se utiliza la herencia en una clase amiga?   Todas las subclases de la clase AMIGO (AMIGO_HIJOS) serían por defecto FRIENDS de la clase que ofrece la amistad (MI_CLASE) y tendrían acceso ilimitado a todos los componentes. En este artículo, vamos a ver cómo se utiliza la herencia en una clase amiga. Ampliamos el […]

Concepto Friends

¿Qué es una clase amiga? Concepto FRIENDS.   En cualquier lenguaje de programación orientado a objetos, el acceso a los componentes privados o protegidos está prohibido tanto para los métodos como para los atributos. Si alguien trata de acceder a ellos, el compilador genera un error de sintaxis. A veces, sería ventajoso para dar el […]

Encapsulación de instancias

La creación de instancias tiene los mismos tipos de encapsulación que tenemos para los componentes de la clase: pública, protegida y privada. La sentencia CREATE OBJECT para instanciar un objeto se puede utilizar en el ámbito de visibilidad que permite la encapsulación de instancia declarada en la definición de la clase. Si no indicamos la […]

Método final

¿Qué es un método final? Si la creación de clases finales no cumple con nuestras necesidades y realmente lo que queremos es proteger algunos métodos de una clase para que no sean redefinidos, podemos utilizar las palabras claves FINAL REDEFINITION en la declaración de método para indicar al compilador que este método no puede ser […]

Clase final

¿Qué es una clase final? Una clase final es la última clase del árbol de herencia y no puede tener subclases. Si creamos una clase abstracta final sólo se podemos acceder a sus componentes estáticos. Se aplica añadiendo la palabra clave FINAL a una clase. CLASS NOMBRE_CLASE DEFINITION FINAL. Para entender el concepto, creamos la […]

Narrowing Cast

¿Cómo se utiliza Narrowing Cast? Las variables de referencia de la clase superior también pueden hacer referencia a las instancias de subclase en tiempo de ejecución. Puede copiar esta referencia nuevamente a una variable de referencia del tipo de subclase. Para asignar una referencia de clase superior a una referencia de subclase, debe utilizar el […]

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 […]

Redefinición de métodos

¿Cómo se redefinen los métodos?   Todas las subclases contienen los componentes de todas las clases existentes entre ellas mismas y el nodo raíz del árbol de herencia. La visibilidad de un componente no puede ser cambiada nunca. En cambio, se puede usar la cláusula REDEFINITION en la sentencia METHODS para redefinir un método público […]

Constructores con herencia

¿Qué son los constructores con herencia y cómo se utilizan? En este artículo vamos a ver cómo se utilizan los constructores con herencia. Implementamos en un programa ejecutable la clase VISTA con un constructor de instancia en la sección pública que tiene un parámetro de entrada llamado TIPO_VISTA de tipo STRING. Creamos otra clase llamada […]

Herencia

¿Qué es y cómo se utiliza la herencia? En programación orientada a objetos, la herencia es el mecanismo más conocido para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella, los diseñadores pueden crear nuevas clases partiendo de una clase […]