diff --git a/Roadmap/09 - HERENCIA/java/JesusAntonioEEscamilla.java b/Roadmap/09 - HERENCIA/java/JesusAntonioEEscamilla.java new file mode 100644 index 0000000000..f4d20c31a8 --- /dev/null +++ b/Roadmap/09 - HERENCIA/java/JesusAntonioEEscamilla.java @@ -0,0 +1,87 @@ + + +/** #09 - Java -> Jesus Antonio Escamilla */ + +public class JesusAntonioEEscamilla { + public static void main(String[] args) { + //---EJERCIÓ--- + Animal perro = new Perro(); + Animal gato = new Gato(); + Animal pajaro = new Pajaro(); + + System.out.println("Herencia"); + imprimirSonido(perro); + imprimirSonido(gato); + imprimirSonido(pajaro); + + System.out.println("\n"); + + System.out.println("Extra Métodos"); + // Extra: Mostrar acciones adicionales + ((Perro) perro).correr(); + ((Gato) gato).cazar(); + ((Pajaro) pajaro).volar(); + //---EXTRA--- + // Pendiente + } + + //---EJERCIÓ--- + // Superclase Animal + static class Animal { + public void hacerSonido(){ + System.out.println("El animal hace ruido"); + } + } + + // Subclases Perro + static class Perro extends Animal { + @Override + public void hacerSonido(){ + System.out.println("El perro ladra: ¡Guau Guau!"); + } + + // Método adicional para perro + public void correr(){ + System.out.println("Esta corriendo felizmente"); + } + } + + // Subclases Gato + static class Gato extends Animal { + @Override + public void hacerSonido(){ + System.out.println("El gato maúlla: ¡Miau Miau!"); + } + + // Método adicional para gato + public void cazar(){ + System.out.println("Esta cazando un ratón"); + } + } + + // Nueva Subclases Pájaro + static class Pajaro extends Animal { + @Override + public void hacerSonido(){ + System.out.println("El pájaro canta: ¡Pio Pio!"); + } + + // Método adicional para gato + public void volar(){ + System.out.println("Esta volando alto en el cielo"); + } + } + + // Función que recibe un objeto de tipo Animal y llama a su método hacerSonido + public static void imprimirSonido(Animal animal){ + animal.hacerSonido(); + } + + + + /**-----DIFICULTAD EXTRA-----*/ + + // Pendientes + + /**-----DIFICULTAD EXTRA-----*/ +} \ No newline at end of file diff --git a/Roadmap/09 - HERENCIA/python/JesusAntonioEEscamilla.py b/Roadmap/09 - HERENCIA/python/JesusAntonioEEscamilla.py new file mode 100644 index 0000000000..2c24ee2c73 --- /dev/null +++ b/Roadmap/09 - HERENCIA/python/JesusAntonioEEscamilla.py @@ -0,0 +1,44 @@ +# #09 - Python -> Jesus Antonio Escamilla + +""" +EJERCIÓ +""" +# Definimos la superclase Animal +class Animal: + def hacer_sonido(self): + raise NotImplemented("Este método debe ser implementado por las subclases") + +# Definimos la subclase Perro +class Perro(Animal): + def hacer_sonido(self): + return "El perro dice: ¡Guau Guau!" + +# Definimos la subclase Gato +class Gato(Animal): + def hacer_sonido(self): + return "El gato dice: ¡Miau Miau!" + +# Definimos la subclase Pájaro +class Pajaro(Animal): + def hacer_sonido(self): + return "El pájaro dice: ¡Pio Pio!" + +# Función para imprimir el sonido de cualquier animal +def imprimir_sonido(animal): + print(f"{animal.hacer_sonido()}") + +# Crear instancias +perro = Perro() +gato = Gato() +pajaro = Pajaro() + +imprimir_sonido(perro) +imprimir_sonido(gato) +imprimir_sonido(pajaro) + + + +""" +EXTRA +""" +# Pendientes \ No newline at end of file