Cargando



Herencia y Clases en Python

En este tutorial veremos cómo funciona la herencia y también aprenderemos que es una clase y como crearla, ya que son dos conceptos que van íntimamente relacionados en la programación orientada a objetos.



jul 03 2014 11:19
Profesional
jul 03 2014 12:59
La herencia es una de las formas de promover el no tener que trabajar de más, ayudándonos a evitar tener que codificar varias veces el mismo código, tal vez podamos pensar que esto lo podemos hacer con las funciones, pero que pasa cuando tenemos una clase y queremos hacer una muy similar que solo cambie uno o dos aspectos, ahí es donde entra en juego esto.

Herencia


La herencia no es más que pasarle los atributos y métodos de una clase superior y abstracta a otra, ya sea que la queramos hacer más específica o hacer mucho más abstracta ampliando su espectro de acción.
Imaginemos por un momento que necesitamos hacer una clase rectángulo, esto es algo bastante especifico ya que rectángulo es una forma geométrica definida, pero a pesar de eso tiene características en común con otras figuras, que tal si en vez de hacer una clase especifica hacemos una clase figuras, que englobe los aspectos y atributos comunes para luego nuestra clase rectángulo herede dichos atributos y entonces solo tenemos que agregar los métodos y atributos específicos.

Clases


Una clase no es más que una colección de atributos y métodos que se definen de forma abstracta, sobre los cuales podemos construir objetos. Podemos ver un ejemplo en la vida real, si vemos un ave por la ventana, debemos saber que esta pertenece a la clase aves, pero si esta ave es un águila entonces decimos que es de las sub clase águila que a su vez pertenece a la clase ave y así podemos seguir especificando desde un nivel abstracto superior (Ave) hasta un nivel más específico (águila), y los atributos del águila son los que la definen y diferencian de otras aves.
Veamos un pequeño ejemplo de cómo construir nuestras clases en Python.

python-herencias.jpg


Como vemos definimos una clase persona y su atributo principal es el nombre, creamos varios métodos para asignar y consultar el nombre y un método saludo, que nos permite hacer que el objeto diga su identificación.
Veamos cómo funcionaría todo esto en un contexto de un programa sencillo.



Si nos fijamos al hacer la asignación, foo = Person(), lo que realmente estamos haciendo es crear un objeto del tipo Person(), por lo que ahora foo pasará a tener los atributo y el acceso a los métodos de la clase Person.
Luego vemos que llamamos al método setName() para dos objetos diferentes, aquí ya estamos especificando a cada uno con atributos diferentes, pero que pertenecen a la misma clase, algo similar al ejemplo del águila que veíamos hace unos párrafos atrás.

Al final al llamar al método greet(), cada objeto demuestra su diferencia a pesar de partir del mismo origen abstracto. De esta forma no tuvimos que escribir un código de definición para cada objeto sino que simplemente reutilizamos el código abstracto de la clase Person.

Con esto finalizamos este tutorial, es bastante teoría que debemos seguir practicando y profundizando ya que esto es la base de lo que es la programación orientada a objetos que nos permitirá sacar provecho a muchas de las funcionalidades de Python.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X