En
orientación a objetos la herencia es, después de la agregación o composición,
el mecanismo más utilizado 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 o de una jerarquía de clases preexistente (ya comprobadas y verificadas)
evitando con ello el rediseño, la modificación y verificación de la parte ya
implementada. La herencia facilita la creación de objetos a partir de otros ya
existentes e implica que una subclase obtiene todo el comportamiento (métodos)
y eventualmente los atributos (variables) de su superclase.
Es la
relación entre una clase general y otra clase más específica. Por ejemplo: Si
declaramos una clase párrafo derivada de una clase texto, todos los métodos y
variables asociadas con la clase texto, son automáticamente heredados por la
subclase párrafo.
POLIMORFISMO
El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación.
El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación.
Recuerde el ejemplo del ecosistema, en donde todos los objetos de las distintas
especies heredaban de una superclase llamada Animal, que brindaba la
información general de cualquier animal, independiente de su especie. Sin
embargo, cada especie hace un uso particular de cada uno de los métodos u
operaciones de la clase Animal.
El método comer() no se
ejecutará de la misma manera en un León()
o en un Pavo(). Lo mismo ocurre
para métodos moverse() en objetos de tipo Tiburón() o Gallina(),
aunque todas las especies realicen estos métodos. A la sobrescritura o
implementación específica de métodos es la clave del polimorfismo.
Para poner en práctica se hará un ejemplo bastante sencillo. Se hará una librería de clases que represente figuras tridimensionales y bidimensionales, y su respectiva jerarquía de clases. Las clases deben ser capaces de tener funcionamiento bastante básico, como obtener áreas, volúmenes y perímetros de la figura correspondiente.
Para poner en práctica se hará un ejemplo bastante sencillo. Se hará una librería de clases que represente figuras tridimensionales y bidimensionales, y su respectiva jerarquía de clases. Las clases deben ser capaces de tener funcionamiento bastante básico, como obtener áreas, volúmenes y perímetros de la figura correspondiente.