Unidad 3: Herencia Ejercicio 1
-
Upload
fabiola-valerio -
Category
Education
-
view
817 -
download
2
Transcript of Unidad 3: Herencia Ejercicio 1
![Page 1: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/1.jpg)
Unidad 3: Herencia“Ejercicio 1”
![Page 2: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/2.jpg)
Analicemos el siguiente enunciado…Es hora de poner en práctica los
conocimientos adquiridos sobre Herencia.Hola compañero, bienvenido a un nuevo
ejercicio del tutorial de POO.
![Page 3: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/3.jpg)
Analicemos el siguiente enunciado…Es hora de poner en práctica los
conocimientos adquiridos sobre Herencia.
![Page 4: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/4.jpg)
Analicemos el siguiente enunciado…
![Page 5: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/5.jpg)
Supongamos que necesitamos implementar dos clases que llamaremos Suma y Resta. Cada clase tiene como atributo valor1, valor2 y resultado. Los métodos a definir son cargar1 (que inicializa el atributo valor1), carga2 (que inicializa el atributo valor2), operar (que en el caso de la clase "Suma" suma los dos atributos y en el caso de la clase "Resta" hace la diferencia entre valor1 y valor2, y otro método mostrarResultado.
![Page 6: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/6.jpg)
Vamos a iniciar construyendo la clase Operacion.
Bien, para este problema vamos a definir las clases Operacion, Suma, Resta y Prueba.
![Page 7: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/7.jpg)
Vamos a iniciar construyendo la clase Operacion.
![Page 8: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/8.jpg)
Esto también aplica a los métodos cargar1, cargar2 y mostrarResultado que son idénticos en las dos clases,
por lo que podemos disponerlos en la clase
Operación.
Sin embargo, los atributos valor1, valor2 y resultado aplican para ambos casos.
Solamente el método operar es distinto para las clases
Suma y Resta.
![Page 9: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/9.jpg)
Esto también aplica a los métodos cargar1, cargar2 y mostrarResultado que son idénticos en las dos clases,
por lo que podemos disponerlos en la clase
Operación.
Sin embargo, los atributos valor1, valor2 y resultado aplican para ambos casos.
![Page 10: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/10.jpg)
Esto también aplica a los métodos cargar1, cargar2 y mostrarResultado que son idénticos en las dos clases,
por lo que podemos disponerlos en la clase
Operación.
Sin embargo, los atributos valor1, valor2 y resultado aplican para ambos casos.
import java.util.Scanner; public class Operacion { protected Scanner teclado; protected int valor1; protected int valor2; protected int resultado;
![Page 11: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/11.jpg)
Esto también aplica a los métodos cargar1, cargar2 y mostrarResultado que son idénticos en las dos clases,
por lo que podemos disponerlos en la clase
Operación.
import java.util.Scanner; public class Operacion { protected Scanner teclado; protected int valor1; protected int valor2; protected int resultado;
![Page 12: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/12.jpg)
Esto también aplica a los métodos cargar1, cargar2 y mostrarResultado que son idénticos en las dos clases,
por lo que podemos disponerlos en la clase
Operación.
import java.util.Scanner; public class Operacion { protected Scanner teclado; protected int valor1; protected int valor2; protected int resultado;
public Operacion() { teclado=new Scanner(System.in); } public void cargar1() { System.out.print("Ingrese el primer valor:"); valor1=teclado.nextInt(); } public void cargar2() { System.out.print("Ingrese el segundo valor:"); valor2=teclado.nextInt(); } public void mostrarResultado() { System.out.println(resultado); } }
![Page 13: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/13.jpg)
Definamos ahora las clases Suma y Resta, estableciendo el método operar acorde a
las necesidades de cada una. No olvides que estos tienen que heredar de Operacion.
![Page 14: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/14.jpg)
Definamos ahora las clases Suma y Resta, estableciendo el método operar acorde a
las necesidades de cada una. No olvides que estos tienen que heredar de Operacion.
public class Suma extends Operacion{ void operar() { resultado=valor1+valor2; } }
public class Resta extends Operacion { public void operar(){ resultado=valor1-valor2; } }
![Page 15: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/15.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
Gracias a la herencia con Operacion podemos llamar directamente los métodos
cargar1, cargar2 y mostrarResultado
Comencemos por definir un objeto de la clase Suma.
Finalmente definamos la clase Prueba para utilizar las
clases anteriores.
![Page 16: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/16.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
Gracias a la herencia con Operacion podemos llamar directamente los métodos
cargar1, cargar2 y mostrarResultado
Comencemos por definir un objeto de la clase Suma.
![Page 17: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/17.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
Gracias a la herencia con Operacion podemos llamar directamente los métodos
cargar1, cargar2 y mostrarResultado
Comencemos por definir un objeto de la clase Suma.
public class Prueba { public static void main(String[] ar) { Suma suma1=new Suma();
![Page 18: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/18.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
Gracias a la herencia con Operacion podemos llamar directamente los métodos
cargar1, cargar2 y mostrarResultado
public class Prueba { public static void main(String[] ar) { Suma suma1=new Suma();
![Page 19: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/19.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
Gracias a la herencia con Operacion podemos llamar directamente los métodos
cargar1, cargar2 y mostrarResultado
public class Prueba { public static void main(String[] ar) { Suma suma1=new Suma();
suma1.cargar1(); suma1.cargar2(); suma1.operar(); System.out.print("El resultado de la suma es:"); suma1.mostrarResultado
![Page 20: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/20.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
public class Prueba { public static void main(String[] ar) { Suma suma1=new Suma();
suma1.cargar1(); suma1.cargar2(); suma1.operar(); System.out.print("El resultado de la suma es:"); suma1.mostrarResultado
![Page 21: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/21.jpg)
Aplicaremos el mismo proceso para un objeto de la
clase Resta
public class Prueba { public static void main(String[] ar) { Suma suma1=new Suma();
suma1.cargar1(); suma1.cargar2(); suma1.operar(); System.out.print("El resultado de la suma es:"); suma1.mostrarResultado
Resta resta1=new Resta(); resta1.cargar1(); resta1.cargar2(); resta1.operar(); System.out.print("El resultado de la resta es:"); resta1.mostrarResultado(); } }
![Page 22: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/22.jpg)
Utilizando JCreator ejecutaremos nuestro main y
obtendremos un resultado como el siguiente…
![Page 23: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/23.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.
Esto fue todo por ahora, espero que la solución de este ejercicio te haya sido
clara y provechosa.
![Page 24: Unidad 3: Herencia Ejercicio 1](https://reader035.fdocuments.net/reader035/viewer/2022062303/557c00dbd8b42aef788b4b1f/html5/thumbnails/24.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.