58 lines
857 B
Python
58 lines
857 B
Python
|
"""
|
||
|
Herencia
|
||
|
|
||
|
D ONT'T
|
||
|
R EPEAT
|
||
|
Y OURSELF
|
||
|
|
||
|
No repitas el código!
|
||
|
|
||
|
"""
|
||
|
|
||
|
# Ejemplo
|
||
|
|
||
|
|
||
|
class Animal:
|
||
|
|
||
|
# Atributos
|
||
|
def __init__(self, edad, color):
|
||
|
self.edad = edad
|
||
|
self.color = color
|
||
|
|
||
|
# Métodos
|
||
|
def nacer(self):
|
||
|
print("Este animal ha nacido")
|
||
|
|
||
|
def morir(self):
|
||
|
pass
|
||
|
|
||
|
def respirar(self):
|
||
|
pass
|
||
|
|
||
|
|
||
|
class Pajaro(Animal):
|
||
|
pass
|
||
|
|
||
|
|
||
|
class Mamifero(Animal):
|
||
|
pass
|
||
|
|
||
|
|
||
|
class Insecto(Animal):
|
||
|
pass
|
||
|
|
||
|
|
||
|
# Podemos ver de donde vienen las clase con __bases__
|
||
|
print(Pajaro.__bases__)
|
||
|
|
||
|
# Podemos ver las subclases de una clase
|
||
|
print(Animal.__subclasses__())
|
||
|
|
||
|
# Creamos una instancia de pájaro y debe tener los atributos de Animal
|
||
|
piolin = Pajaro(2, "negro")
|
||
|
|
||
|
print(f'Piolin tiene {piolin.edad} años y es de color {piolin.color}')
|
||
|
|
||
|
# La instancia de Pájaro ha heredado los métodos de Animal
|
||
|
piolin.nacer()
|