Spanish subtitles

← 12-15 Usar el valor de retorno de un método - Solución

12-15 Usar el valor de retorno de un método - Solución

Get Embed Code
13 Languages

Showing Revision 4 created 10/04/2015 by Frank Gaona.

  1. Primero vamos a modificar
    la firma del método calculatePrice
  2. para tener el tipo de dato
    de retorno correcto.
  3. También asumiremos que
    hay 0 parámetros de entrada.
  4. Aquí es donde se define
    el método calculatePrice.
  5. El propósito de este método es
    calcular el precio total del pedido
  6. y luego retornarlo.
  7. El precio debe ser un número entero
  8. así que debemos cambiar
    el tipo de dato de retorno
  9. de void a int.
  10. Esto cumple la primera tarea.
  11. El cuestionario también pedía asegurarse
  12. de que no haya parámetros de entrada,
  13. y eso es lo que tenemos aquí.
  14. Ahora, la segunda tarea es
    modificar el interior del método
  15. para asegurarse de que estamos calculando
    el precio correcto para la orden.
  16. Y suponiendo $5 por una taza de café.
  17. Dentro de este método estamos tomando
    la cantidad de tazas ordenada.
  18. Y la multiplicamos
    por $5 por cada taza de café.
  19. Esto es igual al precio total del pedido.
  20. Así que esta línea de código es correcta.
  21. Pero hay dos cuestiones que veo:
    la variable price nunca se utiliza
  22. y hay un error que dice
    "falta la sentencia return".
  23. Espera que retornemos un número entero,
    pero no estamos retornando nada.
  24. Ahora mismo nuestro código
    es lo mismo que decir esto.
  25. Necesitamos una línea que diga return
    y poner un valor aquí
  26. y el valor de retorno es un precio.
  27. Así que, voy a poner price,
  28. que es una variable
    que hemos definido aquí.
  29. Genial, ahora
    todos los errores desaparecen.
  30. También debemos modificar el Javadoc
  31. para especificar que estamos
    retornando el precio total.
  32. Para que cuando
    alguien llame este método
  33. sepa qué esperar.
  34. Bien, ahora terminamos todas
    las partes para definir este método.
  35. Ahora, pasemos a donde
    el método es llamado.
  36. Dentro del método submitOrder,
    debemos llamar al método calculatePrice.
  37. Actualmente calculatePrice,
    está flotando en el medio de la nada.
  38. Voy a copiarlo,
    y voy a pegarlo aquí.
  39. Porque antes calculábamos
    el precio de la orden en línea,
  40. en el método submitOrder,
    pero ahora tenemos un método para ello.
  41. Así que voy a pegar esto aquí.
  42. Ahora eliminamos el punto y coma sobrante.
  43. Notarás que price es una variable local
    en este método,
  44. y también en este método.
  45. Está bien si tienen el mismo nombre,
  46. porque son diferentes
    ámbitos de variables.
  47. Entonces esta variable price
  48. no tiene ninguna relación
    con la variable de aquí.
  49. Se actualizan y se crean
    de manera independiente.
  50. Luego de que este método
  51. termina de ejecutarse,
    esta variable price desaparece.
  52. Bien, volvamos al método submitOrder.
  53. Calculamos un precio
    y lo almacenamos en una variable,
  54. y luego podemos usarlo
    para crear el mensaje de precio.
  55. Así que, en realidad, todo este código
    puede permanecer igual.
  56. Estamos concatenando
    el número entero price,
  57. con el string "Total"
    con el símbolo de moneda.
  58. Luego concatenamos "¡Thank you!"
    y después se lo mostrará en la pantalla.
  59. Entonces borraré estas
    líneas de más en blanco, lo guardaré,
  60. y luego podemos ejecutarlo
    en nuestro dispositivo.
  61. Bien, entonces cambié la cantidad
  62. y pulsé Order, entonces correctamente
    muestra $25 como el precio.
  63. Impresionante, funcionó.
  64. Pero, ¿cómo me aseguro
    de que calculatePrice está funcionando?
  65. porque no hay un cambio visible
    para el usuario
  66. en comparación
    con nuestra aplicación anterior.
  67. Aquí hay un par de técnicas
    que puedes realizar
  68. para comprobar la ejecución de tu código.
  69. Podría retornar un número
    disparatado, como 700.
  70. Guardar mi código y luego lo ejecuto.
  71. Ahora lo que espero ver es que
    si cambio la cantidad
  72. y pulso el botón Order,
    debería ver que el precio es $700.
  73. De esa manera sabré
    que el método calculatePrice
  74. realmente es llamado.
  75. Y así es, genial.
  76. Ahora puedo revertir este cambio.
  77. Otra forma de comprobar
    que este método se ejecuta
  78. es añadir un punto de interrupción aquí.
  79. Así que haré clic en
    este pequeño icono bug
  80. y la aplicación entra
    en modo de depuración.
  81. Si cambio la cantidad
  82. y pulso Order, espero que la aplicación
    se detenga en este punto.
  83. Y lo hace.
  84. Así que ahora estamos
    en el método calculatePrice.
  85. Hay una variable global, quantity.
  86. Y si paso a la siguiente línea
  87. veo que ahora hay
    una variable local, price,
  88. y tiene fijado $15, porque quantity es 3,
    y 3 por 5 es 15, perfecto.
  89. Por lo tanto, está pasando
    por el método calculatePrice
  90. y si pulso Resume,
    lo actualiza correctamente
  91. en esta pantalla.