Herencia y polimorfismo: modularidad y reutilización de código

Dos de las principales formas de reutilizar código en la programación orientada a objetos son:
a) Herencia.
b) Polimorfismo.

La herencia nos permite extender las propiedades de una clase a otras. Estas propiedades son metodos y atributos, los cuales pertenecen a una clase (clase padre, superclase) pero tambien son parte de otras clases (clases hijo).

Las clases hijo ademas de tener los mismos métodos y atributos de la clase padre, pueden tener otros metodos y atributos propios.

La siguiente imagen muestra una clase padre  y sus clases hijo.

De la anterior imagen se alcanza a observar que las tres clases hijo comparten la misma información que la clase padre, pero ademas tienen metodos y atributos adicionales. Este es un ejemplo de como por medio de la herencia se pueden crear nuevas clases que tengan con mayor información y metodos mas especificos hacia su uso.

El polimorfismo es la habilidad de usar un metodo que implementa una acción difrente dependiendo del tipo de datos que recibe. Como ejemplo veamos las siguientes operaciones:

2+2 // suma de dos numeros enteros
2+2.1 // suma de un entero y un decimal
2+”hola” /* concatenación del numero 2 y la palabra hola (si el lenguaje de pro        gramacion lo permite)*/
“hola”+” “+”mundo” // concatenación de palabras

Como podemos ver el operador “+” realiza operaciones distintas para distintos datos. Lo mismo pasa en OOP con un metodo de una clase el cual realiza funciones distintas para distintos tipos de datos, como ejemplo en la imagen anterior teniamos el metodo “girar”. Aunque se realice la misma acción en cada vehiculo, la bicicleta gira de manera diferente al avión y lo mismo pasa con el automovil.

Un video que me parecio muy interesante.

Bibliografía:
An Introduction to Object-Oriented Programming,(3rd Edition)
Timothy Budd

Python para todos
Raúl González Duque

http://openbookproject.net/thinkcs/python/english2e/



About colli03

Soy estudiante de la carrera ingeníera en Mecatrónica en la UANL. Me gusta el rap, el rock y la musica clasica. Me gusta mucho leer libros de tecnologías y también ir a escalar cerros.
This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Herencia y polimorfismo: modularidad y reutilización de código

  1. Elisa says:

    ¿Cómo traslada el polimorfismo a lo orientado en objetos?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s