Patrimonio simple e múltiple – Python – OOP

Seguindo con programación orientada a obxectos en Python (OOP) veremos un patrimonio sinxelo e múltiple. Herdanza múltiple en Python

Cando falamos de clases hai unha vantaxe moi notable que é a posibilidade de que un obxecto pertencente a unha clase é capaz de herdar os atributos e Métodos doutro.

Herdanza simple VS. Patrimonio múltiple

Índice de contido

Herdanza simple

Herdanza sinxela prodúcese cando unha clase filla herda os atributos e métodos dunha única clase de pais. Imos proceder a crear dúas clases, un director e un secundario, neste último engadiremos a función que se presentará accedendo aos atributos dos pais.

#!/usr/bin/env python# -*- coding: utf-8 -*-#class Estudiante(object): #Creamos la clase padre def __init__(self, edad, nombre): # Definimos los parámetros edad y nombre self.edad = edad #Declaramos que el atributo edad es igual al argumento edad self.nombre = nombre #Declaramos que el atributo nombre es igual al argumento nombreclass Derecho (Estudiante): #Entre paréntesis indicamos la clase padre o principal ESTUDIANTE #Lo que la convierte a DERECHO en una clase hija o secundaria def presentarse(self): #Creamos el método presentarse print (f"Soy {self.nombre} tengo {self.edad} años y estudio Derecho") #Se presenta llamando los atributosManuel = Derecho(26, 'Manuel Contreras') #Indicamos argumentos edad y nombreManuel.presentarse() # Llamamos al método y Manuel se presenta

Resultado:

Eu son Manuel Contreras Teño 26 anos e estudo correcto

Como ves asignar ao obxecto “Manuel” a clase “Dereita” que herda os atributos de “estudante”. O contrario obteremos un erro porque os atributos e a idade pertencen a un estudante.

Lembre que declarar unha clase que o facemos usando o constructor __init__ e entre parénteses que daremos Os argumentos ao momento de asignar a clase a algún obxecto.

Nome da clase:

def constructor_init (auto, parámetros):

Declaración

e se queremos que a nosa clase herda os atributos ou métodos de outra clase (contén o constructor __init __)

CLASSNAME:

Declaracións

Cando creamos unha clase de filla non é necesario Incluír o constructor __init__ Se o pai ou a clase principal xa o contén.

base de clase ou pai

para facer a herdanza dos atributos e métodos dunha clase, debe existir. A superclase ou clase principal da que a filla ou a clase secundaria herdará. É dicir, para que un neno exista, debe haber un pai.

Supoñamos que herdan algunhas virtudes e defectos dos nosos pais. Serían as nosas clases primarias ou base. E nós sería unha escola secundaria ou filla.

Herdanza múltiple

Os casos de herdanza múltiple en Python reciben cando unha clase secundaria ou filla herda atributos e métodos de máis dunha clase ou pai principal .. Simplemente separado cun coma os dous principais ao crear a clase secundaria:

clase namelaclass (claspadre1, classpadre2):

declaracións

Esta clase filla terá que herdar atributos e métodos de ambas clases (classpadre1 e classpadre2).

Vexamos un exemplo de herdanza múltiple co mesmo código anterior, pero agora creando unha clase correspondente ao Instituto.

#!/usr/bin/env python# -*- coding: utf-8 -*-#class Estudiante(object): #Creamos la clase padre def __init__(self, edad, nombre): # Definimos los parámetros edad y nombre self.edad = edad #Declaramos que el atributo edad es igual al argumento edad self.nombre = nombre #Declaramos que el atributo nombre es igual al argumento nombreclass Instituto(object): def presentarinstituto (self): print("""Estudio en el Instituto de Leyes 112""")class Derecho (Estudiante, Instituto): #Entre paréntesis indicamos la clase padre o principal ESTUDIANTE #Lo que la convierte a DERECHO en una clase hija o secundaria def presentarse(self): #Creamos el método presentarse print (f"Soy {self.nombre} tengo {self.edad} años y estudio Derecho") #Se presenta llamando los atributos Manuel = Derecho(26, 'Manuel Contreras') #Indicamos argumentos edad y nombreManuel.presentarse() # Llamamos al método y Manuel se presentaManuel.presentarinstituto()

Sum Manuel Contreras Teño 26 anos de idade e estuda o estudo correcto No Instituto de Lei 112

Como podemos ver que o tipo correcto agora herda da clase principal e do instituto. Polo tanto, aínda que o obxecto “Manuel” pertence á clase correcta, estamos autorizados a usar o método “Manuel.Presentestivit ()” que corresponde á clase do instituto.

Vantaxes

A partir das principais vantaxes é a reutilización do código que nos permite establecer unha relación entre clases que eviten que sexa necesario re-declarar determinados métodos ou atributos.

As clases permítennos construír obxectos nunha colección de atributos definidos e Métodos Abstract. E a capacidade de herdanza permitiranos crear clases secundarias máis grandes e capaces de herdar múltiples atributos e métodos dos demais, así como o controlalos máis específicos para unha única clase particular.

Descansar na nube: iniciar sesión

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *