Herencia simple y múltiple – Python – OOP

Siguiendo con programacion orientada a objetos en Python (OOP) vamos a ver Herencia simple y múltiple.Herencia múltiple en Python

Cuando hablamos de clases hay una ventaja muy destacable que es la posibilidad de que un objeto perteneciente a una clase sea capaz de heredar los atributos y métodos de otra.

Herencia simple vs Herencia Multiple

 

Herencia simple

La herencia simple tiene lugar cuando una clase hija hereda los atributos y métodos de una única clase padre. Vamos a proceder a crear dos clases, una principal y una secundaria, en esta última vamos a agregar la función de presentarse accediendo a los atributos de la clase padre.

Resultado:

Soy Manuel Contreras tengo 26 años y estudio Derecho

 

Cómo ves asignamos al objeto “Manuel” la clase “Derecho” que hereda los atributos de “Estudiante”. De lo contrario obtendremos un error porque los atributos nombre y edad pertenecen a Estudiante.

Recuerda que para declarar una clase lo hacemos utilizando el constructor __init__ y entre paréntesis los parámetros a los que les daremos argumentos a la hora de asignarle la clase a algún objeto.

Class Nombredelaclase(object):

def constructor_init (self, parámetros):

Declaración

Y si queremos que nuestra clase herede los atributos o métodos de otra clase principal (contiene el constructor __init__)

Class Nombredelaclase(clasepadre):

 Declaraciones

Cuando creamos una clase hija no es necesario volver a incluir el constructor __Init__ si la clase padre o principal ya lo contiene.

Clase base o padre

Para que sea posible la herencia de atributos y métodos de una clase, debe existir la superclase o clase principal de la cual la clase hija o secundaria va a heredar. Es decir, para que exista un hijo debe de existir un padre.

Supongamos que nosotros heredamos algunas virtudes y defectos de nuestros padres. Ellos serían nuestras clases primarias, o base. Y nosotros seríamos la secundaria o hija.

 

Herencia Múltiple

Los casos de herencia múltiple en python se dan cuando una clase secundaria o hija hereda atributos y metodos de mas de una clase principal o padre. Basta con separar con una coma ambas principales a la hora de crear la clase secundaria:

Class Nombredelaclase(clasepadre1, clasepadre2):

 Declaraciones

Esta clase hija habrá de heredar atributos y metodos de ambas clases (clasepadre1 y clasepadre2).

Veamos un ejemplo de herencia múltiple con el mismo código anterior pero creando ahora una clase correspondiente al instituto.

 

Resultado:

Soy Manuel Contreras tengo 26 años y estudio Derecho
Estudio en el Instituto de Leyes 112

Como podemos ver la clase Derecho ahora hereda de la clase principal Estudiante Instituto. Por eso aunque el objeto “Manuel” pertenezca a la clase Derecho, se nos permite utilizar el método “Manuel.presentarinstituto()” que corresponde a la clase Instituto.

Ventajas

Una de las principales ventajas es la reutilización de código permitiéndonos establecer una relación entre clases evitando que sea necesario volver a declarar ciertos métodos o atributos.

Las clases nos permiten construir objetos sobre una colección de atributos y métodos definidos de forma abstracta. Y la capacidad de herencia nos permitirá crear clases secundarias más grandes y capaces heredando múltiples atributos y métodos de otras asi como tambien mas especificas controlando los mismos para una única clase particular.


Descansando en la nube: login offEsto ha sido todo y espero hayas logrado comprender algo de herencia múltiple en python, si aún no has visto clases te recomiendo pasarte por la entrada anterior. Hasta luego! Bye bye! Ha y no olvides dejar un comentario o suscribirte a mi blog! 🙂

 


Suscribete al blog!

Mantenemos tus datos en privado y NO enviamos spam. Lee nuestra política de privacidad.

Ayúdame a llegar a mas personas!
  • 8
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  • 8
  •  
  •  
  •  
  •  
  •