Conviértete en un emprendedor,profesional del conocimiento en la programación

lunes, 9 de enero de 2012

ESTRUCTURA DE DATOS

Compartir con:


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