1
00:00:00,079 --> 00:00:02,207
Te guiaré a través
de un ejemplo de un método
2
00:00:02,207 --> 00:00:04,750
con una cantidad diferente
de parámetros de entrada.
3
00:00:04,750 --> 00:00:07,205
Empecé creando una nueva aplicación
4
00:00:07,206 --> 00:00:09,660
con el asistente de proyectos
de Android Studio,
5
00:00:09,660 --> 00:00:12,646
así que no está relacionado
con la aplicación Just Java.
6
00:00:12,647 --> 00:00:15,460
Añadí este método
en la MainActivity.
7
00:00:15,460 --> 00:00:17,420
Se llama createWeatherMessage.
8
00:00:17,420 --> 00:00:21,158
No hay parámetros de entrada,
y el valor de retorno es un string.
9
00:00:21,158 --> 00:00:24,403
La intención de este método es crear
un nuevo mensaje que especifique
10
00:00:24,403 --> 00:00:26,340
el nombre de la ciudad y la temperatura.
11
00:00:26,340 --> 00:00:29,590
Se puede pensar en un método
como una plantilla de instrucciones.
12
00:00:29,590 --> 00:00:32,810
Entonces puedo hacer que la temperatura
sea un parámetro de entrada.
13
00:00:33,550 --> 00:00:36,650
Y es un número, así que pondré
int temperature.
14
00:00:36,650 --> 00:00:40,990
Y entonces puedo usar esto aquí.
15
00:00:40,990 --> 00:00:43,540
Así, esto es un literal string,
16
00:00:43,540 --> 00:00:46,150
y se concatena con el número entero
de la temperatura.
17
00:00:46,150 --> 00:00:51,090
Y luego se concatena con otro string
que dice grados Fahrenheit.
18
00:00:51,090 --> 00:00:54,620
Ahora el mensaje se puede personalizar
en base a la temperatura
19
00:00:54,620 --> 00:00:56,259
ya que es un parámetro de entrada.
20
00:00:56,267 --> 00:00:57,918
Olvidé mencionar esto antes,
21
00:00:57,919 --> 00:01:00,687
pero en el método onCreate
de la MainActivity,
22
00:01:00,688 --> 00:01:03,198
que se llama cuando se crea la actividad,
23
00:01:03,198 --> 00:01:05,670
puedo llamar al createWeatherMessage.
24
00:01:05,670 --> 00:01:10,040
Antes no pasé ningún argumento,
pero ahora requiere un parámetro.
25
00:01:10,040 --> 00:01:14,630
Así que pasaré 77 para la temperatura.
26
00:01:14,630 --> 00:01:18,990
Esto hace que el error desaparezca,
y esta llamada al método es correcta.
27
00:01:18,990 --> 00:01:22,360
La otra cosa que debo modificar
es este comentario sobre el método.
28
00:01:22,650 --> 00:01:24,226
Agregaré una línea en blanco,
29
00:01:24,227 --> 00:01:28,591
y luego describiré el parámetro de entrada
que es la temperatura aquí.
30
00:01:29,131 --> 00:01:32,735
Escribiré @param temperature, y luego
agregaré una descripción que diga
31
00:01:32,735 --> 00:01:34,726
que esta es la temperatura de la ciudad.
32
00:01:35,345 --> 00:01:38,555
A veces los nombres de parámetros
son un poco difícil de entender,
33
00:01:38,555 --> 00:01:40,592
por eso la descripción es útil.
34
00:01:41,232 --> 00:01:43,442
Otras veces si tu método es público
35
00:01:43,443 --> 00:01:46,132
otras personas podrán llamar
a este método,
36
00:01:46,132 --> 00:01:49,352
y puede ser que no conozcan
las instrucciones dentro de este método.
37
00:01:49,352 --> 00:01:50,642
Entonces leer este java doc
38
00:01:50,642 --> 00:01:53,698
y la descripción de los parámetros
es realmente útil para ellos.
39
00:01:54,220 --> 00:01:57,242
Mencioné antes que un método
es como una plantilla.
40
00:01:57,242 --> 00:01:59,677
Entonces, ¿qué pasa
si queremos cambiar la ciudad
41
00:01:59,678 --> 00:02:01,551
para que no sea siempre San Francisco?
42
00:02:01,817 --> 00:02:04,360
Puedo hacer que la ciudad
sea un parámetro de entrada.
43
00:02:04,360 --> 00:02:06,610
Entonces puedo simplemente
añadir una coma aquí,
44
00:02:06,610 --> 00:02:10,889
y como el nombre de la ciudad es un texto
haré que el tipo de dato sea string.
45
00:02:10,889 --> 00:02:15,740
Entonces puedo eliminar "San Francisco"
y reemplazarlo con una variable cityName.
46
00:02:16,870 --> 00:02:20,453
Recuerda agregar un espacio
antes y después de aquí también.
47
00:02:21,390 --> 00:02:25,238
Genial, ahora este método
puede crear un mensaje personalizable
48
00:02:25,239 --> 00:02:27,429
para determinada ciudad y temperatura.
49
00:02:28,001 --> 00:02:30,430
También recordé modificar el java doc
50
00:02:30,430 --> 00:02:33,191
para agregar este parámetro
y la descripción
51
00:02:33,192 --> 00:02:34,533
para "cityname".
52
00:02:35,140 --> 00:02:39,100
Como cambié la firma del método,
ahora tengo un error aquí.
53
00:02:39,100 --> 00:02:41,850
El método ya no funciona
con un solo argumento.
54
00:02:41,850 --> 00:02:44,130
Tengo que pasar dos argumentos.
55
00:02:44,130 --> 00:02:48,720
Así que añado una coma y luego paso
el string San Francisco.
56
00:02:49,374 --> 00:02:51,130
Ahora el error desaparece.
57
00:02:51,130 --> 00:02:53,215
Así que cuando llamo a
createWeatherMessage,
58
00:02:53,216 --> 00:02:56,140
el valor de temperature será 77,
59
00:02:56,140 --> 00:02:58,300
y San Francisco será el valor de cityName
60
00:02:59,390 --> 00:03:01,783
Y creará el string adecuado aquí
61
00:03:03,813 --> 00:03:06,874
Ahora volvemos al método calculatePrice,
62
00:03:06,874 --> 00:03:09,480
y modificaremos la firma del método
63
00:03:09,480 --> 00:03:13,230
para que tenga un diferente
número de parámetros de entrada
64
00:03:13,230 --> 00:03:16,178
Lo definiremos con cero
parámetros de entrada,
65
00:03:17,678 --> 00:03:19,250
un parámetro de entrada,
66
00:03:20,028 --> 00:03:22,425
y por último,
con dos parámetros de entrada.
67
00:03:23,350 --> 00:03:25,688
Verás cómo cambiar la firma del método
68
00:03:25,688 --> 00:03:28,271
para tener un diferente número
de parámetros de entrada
69
00:03:28,271 --> 00:03:30,336
afectará la forma
en que se llama al método.
70
00:03:30,336 --> 00:03:32,190
Normalmente al construir tu aplicación,
71
00:03:32,190 --> 00:03:34,143
la defines de una manera
72
00:03:34,144 --> 00:03:36,280
con cierto número
de parámetros de entrada.
73
00:03:36,280 --> 00:03:39,500
Por lo general, ese número
de parámetros de entrada será determinado
74
00:03:39,500 --> 00:03:42,320
con base en lo que sucede
dentro del método.
75
00:03:42,320 --> 00:03:45,200
La mejor práctica es pasar
solo parámetros de entrada
76
00:03:45,200 --> 00:03:47,888
que en realidad se van a necesitar
dentro de este método.
77
00:03:47,888 --> 00:03:51,631
No tiene sentido pasar más información
si no vas a usarla aquí dentro.
78
00:03:51,945 --> 00:03:54,064
Aquí están las instrucciones
para esta tarea.
79
00:03:54,640 --> 00:03:58,468
Primero define el método calculatePrice
en tu aplicación en la MainActivity.
80
00:03:58,468 --> 00:03:59,889
Mira las notas del instructor
81
00:03:59,897 --> 00:04:02,323
para obtener un fragmento de código
con que empezar.
82
00:04:02,323 --> 00:04:04,213
Modificaremos el método calculatePrice
83
00:04:04,213 --> 00:04:06,690
para que solo tenga
un parámetro de entrada.
84
00:04:06,690 --> 00:04:09,970
Luego, en el método submitOrder
llama a calculatePrice
85
00:04:09,970 --> 00:04:12,230
y pasa quantity como entrada.
86
00:04:12,230 --> 00:04:14,523
Luego, intenta modificar
el método calculatePrice
87
00:04:14,524 --> 00:04:16,500
para que tenga dos parámetros de entrada.
88
00:04:16,500 --> 00:04:21,714
De esta forma en el método submitOrder
llamarás calculatePrice con quantity
89
00:04:21,714 --> 00:04:26,093
y puedes pasar el precio
que podría ser de $10 por ejemplo.
90
00:04:26,093 --> 00:04:31,020
Y, por último, cambia calculatePrice
para que no tenga parámetros de entrada.
91
00:04:31,020 --> 00:04:32,898
De esta forma en el método submitOrder
92
00:04:32,899 --> 00:04:35,100
simplemente llamarás a calculatePrice así.
93
00:04:35,658 --> 00:04:39,101
Vamos a hacer la primera juntos
para que entiendas lo que quiero decir.
94
00:04:39,102 --> 00:04:41,729
Abriré el enlace
de las notas del instructor.
95
00:04:42,420 --> 00:04:46,080
En esta esencia proporcionamos código
para el método calculatePrice.
96
00:04:46,080 --> 00:04:49,838
Así que sigue adelante,
selecciona todo y luego cópialo.
97
00:04:50,480 --> 00:04:53,160
En Android Studio,
voy a pegar este método.
98
00:04:53,160 --> 00:04:56,285
Voy a pegarlo justo debajo de submitOrder
99
00:04:56,286 --> 00:04:59,076
y me aseguraré
de que haya una línea en blanco
100
00:04:59,077 --> 00:05:01,370
entre cada método aquí.
101
00:05:01,370 --> 00:05:03,206
Eso hace que sea más fácil de leer.
102
00:05:03,650 --> 00:05:07,140
Luego puedo llamar a este método
desde el método submitOrder.
103
00:05:07,140 --> 00:05:09,891
Voy a insertar la llamada
en la parte inferior del método.
104
00:05:09,897 --> 00:05:12,477
Más tarde vamos a integrarlo
con el código aquí arriba.
105
00:05:12,478 --> 00:05:14,271
Pero por ahora, esto es bueno.
106
00:05:14,644 --> 00:05:17,484
Vaya, olvidé que tenemos
un parámetro de entrada,
107
00:05:17,485 --> 00:05:19,509
así que necesito pasar una cantidad.
108
00:05:20,731 --> 00:05:23,579
Ahora haz lo mismo
para las dos tareas restantes
109
00:05:23,580 --> 00:05:25,826
modificando los parámetros
de entrada aquí.
110
00:05:26,850 --> 00:05:29,949
Para completar esta tarea,
si necesitas ejemplos de referencia,
111
00:05:29,949 --> 00:05:32,791
siempre puedes hacer
una búsqueda en Google de métodos Java.