Last active
October 20, 2023 17:52
-
-
Save j2deme/7650272532ed00e8cb5ba115e7717fc2 to your computer and use it in GitHub Desktop.
Herencia Simple, Múltiple y en Cascada
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Animal: | |
def __init__(self, nombre, edad): | |
self.nombre = nombre | |
self.edad = edad | |
def comer(self): | |
print(f'{self.nombre} esta comiendo') | |
def dormir(self): | |
print(f'{self.nombre} esta durmiendo') | |
def hacer_sonido(self): | |
print(f'{self.nombre} esta haciendo sonidos') | |
def __del__(self): | |
print(f'{self.nombre} se fue al cielo de los animales') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from animal import Animal | |
class Gato(Animal): | |
def __init__(self, nombre, edad, vidas): | |
super().__init__(nombre, edad) | |
self.vidas = vidas | |
def hacer_sonido(self): | |
super().hacer_sonido() | |
print("Miau! 🐈") | |
#print(f'{self.nombre} esta maullando') | |
def sobrevive(self): | |
if self.edad > 15 or self.vidas > 1: | |
self.vidas -= 1 | |
self.edad = 1 | |
return self.vidas > 0 | |
def __del__(self): | |
print(f'{self.nombre} se fue al cielo de los gatos') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from perro import Perro | |
from gato import Gato | |
from animal import Animal | |
def main(): | |
perro = Perro("Firulais", 5, "Urbano") | |
gato = Gato("Garfield", 3, 7) | |
perro.comer() | |
perro.dormir() | |
perro.hacer_sonido() | |
print(f'Es cachorro? {perro.es_cachorro()}') | |
gato.comer() | |
gato.hacer_sonido() | |
print(f'Vidas? {gato.vidas}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Vidas? {gato.vidas}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Vidas? {gato.vidas}') | |
gato.edad = 16 | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Vidas? {gato.vidas}') | |
print(f'Sobrevive? {gato.sobrevive()}') | |
print(f'Vidas? {gato.vidas}') | |
del gato | |
del perro | |
pikachu = Animal("Pikachu", 2) | |
pikachu.hacer_sonido() | |
pikachu.comer() | |
pikachu.dormir() | |
del pikachu | |
if __name__ == "__main__": | |
main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from murcielago import Murcielago | |
from ornitorrinco import Ornitorrinco | |
def main(): | |
dracula = Murcielago(nombre="Drácula", especie="Vampiro", edad=500) | |
dracula.comer() | |
dracula.hacer_sonido() | |
dracula.amamantar() | |
dracula.dormir() | |
dracula.volar() | |
perry = Ornitorrinco(nombre="Perry", edad=7) | |
print(f'{perry.nombre} ha puesto {perry.NUMERO_HUEVOS} huevos') | |
perry.poner_huevo() | |
perry.poner_huevo() | |
perry.poner_huevo() | |
print(f'{perry.nombre} ha puesto {perry.NUMERO_HUEVOS} huevos') | |
print(f'{perry.especie}') | |
if __name__ == "__main__": | |
main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from animal import Animal | |
class Mamifero(Animal): | |
def __init__(self, nombre, edad, especie="Mamífero"): | |
super().__init__(nombre, edad) | |
self.especie = especie | |
def amamantar(self): | |
print("🍼") | |
def parir(self): | |
print("👶🏻") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from mamifero import Mamifero | |
from volador import Volador | |
class Murcielago(Mamifero, Volador): | |
pass |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from mamifero import Mamifero | |
from oviparo import Oviparo | |
from venenoso import Venenoso | |
class Ornitorrinco(Mamifero, Oviparo, Venenoso): | |
def __init__(self, nombre, edad): | |
super().__init__(nombre, edad) | |
self.NUMERO_HUEVOS = 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Oviparo: | |
NUMERO_HUEVOS = 0 | |
def poner_huevo(self): | |
print("🥚") | |
self.NUMERO_HUEVOS += 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from animal import Animal | |
class Perro(Animal): | |
def __init__(self, nombre, edad, raza): | |
super().__init__(nombre, edad) | |
self.raza = raza | |
def hacer_sonido(self): | |
super().hacer_sonido() | |
print("Woof! 🐕") | |
def es_cachorro(self): | |
return self.edad < 2 | |
def __del__(self): | |
print(f'{self.nombre} se fue al cielo de los perros') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Venenoso: | |
def inyectar_veneno(self): | |
print("💉") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Volador: | |
def volar(self): | |
print("Volar") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment