Conceptos Clave de Programación Orientada a Objetos y Gestión de Datos

Clasificado en Informática

Escrito el en español con un tamaño de 5,52 KB

Herencia en Programación Orientada a Objetos

1. ¿Qué es la herencia?

Es la capacidad de reutilizar elementos de una clase genérica o base (conocida como clase padre) en otra clase particular (la clase hijo). Esto se logra mediante la descripción de una clase a partir de otra, promoviendo la reutilización de código y la organización jerárquica.

2. ¿Para qué sirve la palabra clave extends?

La palabra clave extends se utiliza para crear las clases hijo, indicando que una clase hereda de otra. Por ejemplo, class Hijo extends Padre { ... }.

3. ¿Qué permite hacer la clase hijo?

La clase hijo permite agregar miembros adicionales (variables o funciones) a los ya heredados de la clase padre. Además, tiene la capacidad de sobrecargar funciones de la clase padre, es decir, proporcionar una implementación específica para un método que ya existe en la clase base.

4. ¿Qué hace la palabra clave super?

La palabra clave super permite llamar a miembros de la clase padre, incluso cuando estos han sido sobrecargados en la clase hijo. Es fundamental para acceder a la implementación original de métodos o constructores de la clase base.

5. ¿Qué suele contener la clase padre?

  • Contiene variables comunes a todas sus clases derivadas.
  • Contiene métodos comunes que describen comportamientos generales.
  • Describe comportamientos generales que pueden ser especializados por las clases hijo.

6. ¿Qué suele contener la clase hijo?

  • Contiene variables particulares, así como métodos y comportamientos específicos de la clase.
  • Es recomendable evitar nombrar variables con el mismo nombre que en la clase padre para prevenir confusiones, aunque es posible.
  • Es posible nombrar métodos con el mismo nombre que en la clase padre (sobrecarga o sobrescritura, dependiendo del contexto y lenguaje).

7. ¿Qué permite hacer la palabra clave super?

La palabra clave super permite acceder a los miembros de la clase padre. Ejemplos de su uso incluyen:

  • super.dibujar(): Accede a la versión del método dibujar() de la clase padre.
  • super(): Invoca al constructor de la clase padre.

8. ¿Qué consideraciones se deben tener al usar la palabra clave super?

  • Al declarar una variable local en la clase hija que tenga el mismo nombre que una de la clase padre, la variable local adquiere precedencia. Sin embargo, super.nombreVariable operará con la variable de la clase padre.
  • Al invocar una función mediante super.metodo(), se ejecuta la implementación del método de la clase padre. Si ese método de la clase padre, a su vez, llama a otros métodos que han sido sobrescritos en la clase hija (y son polimórficos), esas llamadas internas se resolverán a la versión de la clase hija.

Polimorfismo en Programación Orientada a Objetos

1. ¿Qué es el polimorfismo?

El polimorfismo es la capacidad de tratar elementos de la clase hija como si fueran de la clase padre. Esto permite que objetos de diferentes clases respondan a la misma llamada de método de maneras distintas, dependiendo de su tipo real en tiempo de ejecución.

2. ¿Para qué sirve el polimorfismo?

Es especialmente útil para empaquetar comportamientos comunes en una clase padre (actuando como un contenedor o interfaz) y dejar que el polimorfismo administre el comportamiento particular de cada clase hijo. Facilita la creación de código más flexible, extensible y fácil de mantener.

Flujo de Entrada y Salida (I/O)

1. ¿Qué es una imagen en este contexto?

Una imagen se representa como una matriz tridimensional (ancho, alto, color) que almacena valores de color RGB (Rojo, Verde, Azul). El código básico para cargar una imagen es img = loadImage("nombre_de_la_imagen.ext"); y para mostrarla en el bucle de dibujo (void draw()) se usa image(img, 0, 0, ancho, alto);.

2. ¿Qué hacen las funciones loadStrings() y saveStrings()?

  • loadStrings(): Carga el contenido de un archivo de texto y genera un arreglo de cadenas (String[]), donde cada elemento del arreglo es una línea del archivo.
  • saveStrings(): Guarda un arreglo de tipo String[] en un archivo de texto, escribiendo cada elemento del arreglo como una línea separada.

3. ¿Para qué sirve el texto en el contexto de I/O?

El uso de archivos de texto permite guardar configuraciones y valores en la PC de forma persistente, es decir, que no se pierdan al cerrar el programa. Esto es similar a la funcionalidad de una base de datos, pero para datos más simples o configuraciones locales.

Entradas relacionadas: