Herencia y Polimorfismo
Herencia y Polimorfismo
Herencia y Polimorfismo
El polimorfismo es un concepto de la programacin orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma especfica.
En general nos sirve para programar objetos con caractersticas comunes y que todos estos compartan la misma superclase en una jerarqua de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programacin.
Si tomramos por ejemplo un ecosistema, todos los objetos de las distintas especies heredaran de una superclase llamada Animal, que brindara la informacin general de cualquier animal, independiente de su especie. Sin embargo, cada especie hace un uso particular de cada uno de los mtodos u operaciones de la clase Animal.
El mtodo comer() no se ejecutara de la misma manera en un Len() o en un Pavo(). Lo mismo ocurre para mtodos moverse() en objetos de tipo Tiburn() o Gallina(). Aunque todas las especies realicen estos mtodos.
Hacer una librera de clases que represente figuras tridimensionales y bidimensionales con su respectiva jerarqua de clases. Las clases deben ser capaces de tener funcionamiento bastante bsico, como obtener reas, volmenes y permetros de la figura correspondiente.
Diagrama de clases
Se usa cuando queremos definir una clase que englobe objetos de varios tipos y queremos hacer uso del polimorfismo.
No permite crear objetos. Se utiliza para que otras clases hereden de ella "provocando" la reutilizacin de cdigo, es decir, que no se puede instanciar. Se usa nicamente para definir subclases.
Se le denomina Herencia, siginifica que todo lo que pertenece a la clase Figura (clase madre, padre o base) ahora le pertenece tambin a la clase Figura2D (hija o derivada).
Ejemplo:
Si clase base tuviera un atributo que se llame ATRIBUTO, este tambin le iba a pertenecer a la clase derivada. Si la clase base tuviera un mtodo que se llame FUNCION, este tambin le iba a pertenecer a la clase derivada.
As, sin haber declarado nada para la clase derivada Figura2D, es posible crear un objeto de Figura2D y utilizar lo que pertenece a Figura.
fig.metodo_de_Figura();
Formar las clases de la parte inferior de la jerarqua y que representaran los objetos a instanciarse. Adems, debe de realizar una implementacin de esta librera, en donde el usuario pueda crear nuevas figuras y que stas se almacenen en un arreglo de figuras.
Realice una jerarqua de clases en donde se representen un cuadriltero. Mediante esa superclase, realice las clases rectngulo, cuadrado, paralelogramo y trapezoide; que heredarn de ella, convirtindose prcticamente en objetos cuadriltero (superclase).