Tipos de herencia Python

La herencia se define como el mecanismo de heredar las propiedades de la clase base a la clase secundaria. Aquí vamos a ver los tipos de herencia en Python.

Types of inheritance Python

 

Tipos de herencia en Python

Los tipos de herencia dependen del número de clases de padres e hijos involucradas. Hay cuatro tipos de herencia en Python:

Herencia Única: 

La herencia única permite que una clase derivada herede propiedades de una sola clase principal, lo que permite la reutilización del código y la adición de nuevas características al código existente.

 

Ejemplo:

Python3

# Python program to demonstrate
# single inheritance
 
# Base class
class Parent:
    def func1(self):
        print("This function is in parent class.")
 
# Derived class
 
 
class Child(Parent):
    def func2(self):
        print("This function is in child class.")
 
 
# Driver's code
object = Child()
object.func1()
object.func2()

Producción:

This function is in parent class.
This function is in child class.

Herencia múltiple: 

Cuando una clase se puede derivar de más de una clase base, este tipo de herencia se denomina herencia múltiple. En herencias múltiples, todas las características de las clases base se heredan en la clase derivada. 

 

Ejemplo:

Python3

# Python program to demonstrate
# multiple inheritance
 
# Base class1
class Mother:
    mothername = ""
 
    def mother(self):
        print(self.mothername)
 
# Base class2
 
 
class Father:
    fathername = ""
 
    def father(self):
        print(self.fathername)
 
# Derived class
 
 
class Son(Mother, Father):
    def parents(self):
        print("Father :", self.fathername)
        print("Mother :", self.mothername)
 
 
# Driver's code
s1 = Son()
s1.fathername = "RAM"
s1.mothername = "SITA"
s1.parents()

Producción:

Father : RAM
Mother : SITA

Herencia multinivel  :

En la herencia multinivel, las características de la clase base y la clase derivada se heredan en la nueva clase derivada. Esto es similar a una relación que representa a un niño y un abuelo. 

 

Ejemplo:

Python3

# Python program to demonstrate
# multilevel inheritance
 
# Base class
 
 
class Grandfather:
 
    def __init__(self, grandfathername):
        self.grandfathername = grandfathername
 
# Intermediate class
 
 
class Father(Grandfather):
    def __init__(self, fathername, grandfathername):
        self.fathername = fathername
 
        # invoking constructor of Grandfather class
        Grandfather.__init__(self, grandfathername)
 
# Derived class
 
 
class Son(Father):
    def __init__(self, sonname, fathername, grandfathername):
        self.sonname = sonname
 
        # invoking constructor of Father class
        Father.__init__(self, fathername, grandfathername)
 
    def print_name(self):
        print('Grandfather name :', self.grandfathername)
        print("Father name :", self.fathername)
        print("Son name :", self.sonname)
 
 
#  Driver code
s1 = Son('Prince', 'Rampal', 'Lal mani')
print(s1.grandfathername)
s1.print_name()

Producción:

Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince

Herencia jerárquica: 

Cuando se crean más de una clase derivada a partir de una única base, este tipo de herencia se denomina herencia jerárquica. En este programa, tenemos una clase principal (base) y dos clases secundarias (derivadas).

 

Ejemplo:

Python3

# Python program to demonstrate
# Hierarchical inheritance
 
 
# Base class
class Parent:
    def func1(self):
        print("This function is in parent class.")
 
# Derived class1
 
 
class Child1(Parent):
    def func2(self):
        print("This function is in child 1.")
 
# Derivied class2
 
 
class Child2(Parent):
    def func3(self):
        print("This function is in child 2.")
 
 
# Driver's code
object1 = Child1()
object2 = Child2()
object1.func1()
object1.func2()
object2.func1()
object2.func3()

Producción:

This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.

Herencia híbrida: 

La herencia que consta de múltiples tipos de herencia se denomina herencia híbrida.

 

Ejemplo:

Python3

# Python program to demonstrate
# hybrid inheritance
 
 
class School:
    def func1(self):
        print("This function is in school.")
 
 
class Student1(School):
    def func2(self):
        print("This function is in student 1. ")
 
 
class Student2(School):
    def func3(self):
        print("This function is in student 2.")
 
 
class Student3(Student1, School):
    def func4(self):
        print("This function is in student 3.")
 
 
# Driver's code
object = Student3()
object.func1()
object.func2()

Producción:

This function is in school.
This function is in student 1.

Publicación traducida automáticamente

Artículo escrito por sahivam4u y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *