ESTRUCTURA DE DATOS
DIAGRAMA DE UNIDADES DE APRENDIZAJE
POLIMORFISMO - COLECCIONES
Jerarquía de clases, Relación entre clases,
Relación entre métodos, Diagrama de clases, Polimorfismo
Jerarquía de clases:
La interrelación de clases a través de
la herencia determina la construcción de una jerarquía de clases.
●La herencia es la propiedad que permite construir
clases a partir de la existencia de otras clases.
●El objetivo principal de la herencia es la reutilización,
es decir utilizar un código anteriormente desarrollado.
●Las super-clases o clases base o
clases padre se derivan en sub-clases o clases derivadas o
clases hijas compartiendo características y comportamiento.
Ejemplo 1 de jerarquía
de clases
Ejemplo 2 de jerarquía
de clases
Relación entre clases
●Generalización/Especialización:
Establecen la relación Es-Un. Se utiliza para establecer relación de herencia. Ejemplo:
Perro es-un Mamífero.
Circulo es-una Figura.
Avión de pasajeros es-un Avión.
●Asociación: Establecen la relación Tiene-Un.
Se utiliza cuando tenemos un objeto como atributo de una clase. Ejemplo:
Auto tiene-un Motor.
Persona tiene-un Dni.
●Agregación/Composición:
cuando en una clase se tiene una o varias colecciones de objetos. Ejemplo:
ColeccionAutos tiene un arreglo de objetos de la clase Auto.
●Dependencia: Establecen relación con
clases que tienen servicios comunes o métodos estáticos. Por ejemplo,
para realizar un cálculo de potencia se establece una relación de dependencia
con la clase Mathy su método pow().
Relacion entre métodos
●Generalizacion, cuando la
clase padre declara un método pero no implementa su comportamiento, el cual
estará implementado en la clase hija. (Aplicación de polimorfismo). Ejemplo:
Clase FiguraGeométrica tiene un
método dibujaFigura() y dos subclases: Cuadrado y Circulo.
En la clase FiguraGeométrica no se
puede implementar el método dibujaFigura() porque no se sabe si la Figura será
un Cuadrado o un Círculo.
●Extensión, cuando se agrega
capacidades totalmente nuevas en la clase hija (añade nuevos métodos) que no
existían en la clase padre. Ejemplo:
De la clase Reloj con un método
formatoEstandar(), se define una subclase RelojNuevo que además considere un
método formatoMilitar().
●Reemplazo/Sobreescritura, cuando el
método de la clase hija sustituye totalmente al método de la clase padre. Es
decir, el método de la clase padre nunca será usado.
Ambos métodos deben de tener la misma
declaración de método. Se utiliza en la implementación de herencia y
polimorfismo
●Refinamiento, cuando el
método de la clase hija incluye como parte de su comportamiento el método de la
clase padre, permitiendo rehusar el código del método heredado.
Ambos métodos no necesariamente deben
tener la misma declaración de método. Ejemplo:
método calcularArea() de Rectángulo y
Triangulo en una jerarquía de clases.
Area del triángulo = Area del
rectángulo / 2
Diagrama de clases
En este diagrama se puede visualizar
la relación entre clases y la jerarquía de clases correspondiente. Ejemplo 1:
Dibuje el diagrama de clases e
indique la relación entre clases, considerando lo siguiente:
Clase Empleado hereda de la clase
Persona
Clase Cliente hereda de la clase
Persona
Clase Directivo hereda de la clase
Empleado
Clase Empresa tiene varios empleados
Clase Empresa tiene varios clientes
0 comentarios:
Publicar un comentario