1
00:00:00,150 --> 00:00:04,530
Continuamos en esta clase, vamos a mejorar y optimizar un poco más nuestro código.

2
00:00:04,590 --> 00:00:07,560
Por ejemplo, acá en la rueda estamos agregando, pero siempre la misma.

3
00:00:07,680 --> 00:00:09,710
Entonces podría quedar mucho mejor con un Ford.

4
00:00:10,080 --> 00:00:15,270
Bueno, de hecho si fueran distintas estaría perfecto, pero como son todo iguales, un Ford queda mucho

5
00:00:15,270 --> 00:00:15,540
mejor.

6
00:00:15,600 --> 00:00:17,130
Optimizamos línea de código.

7
00:00:17,220 --> 00:00:21,840
Bien, vamos a iterar hasta total, que serían 5 incrementamos.

8
00:00:22,710 --> 00:00:23,220
Perfecto.

9
00:00:23,280 --> 00:00:26,450
Voy a copiar cualquiera y le cambiamos el índice.

10
00:00:27,000 --> 00:00:30,690
Lo dejamos con el que sea incrementando de forma automática.

11
00:00:31,080 --> 00:00:34,860
Iba a agregar de 0 a 4 5 ruedas y esto le quitamos.

12
00:00:36,210 --> 00:00:39,330
Siempre la misma rueda, bien, lo mismo con Magda.

13
00:00:45,730 --> 00:00:56,500
12 ruedas Mazda, punto Lenka, incrementamos ruedas, Mazda corchete y igual cupieron cualquiera,

14
00:00:56,740 --> 00:00:59,650
por ejemplo esta Daka son todas iguales.

15
00:01:00,400 --> 00:01:04,930
Es importante que sea acá Rueda Mazda, Ramada y acá Subaru.

16
00:01:05,820 --> 00:01:06,210
Bien.

17
00:01:06,390 --> 00:01:06,900
Qué más?

18
00:01:07,380 --> 00:01:08,430
Esto de acá le quitamos.

19
00:01:08,880 --> 00:01:15,900
Vamos a quitar esto y lo cambiamos con el New New Rueda corchete igual a 5.

20
00:01:15,990 --> 00:01:18,240
Tenemos que inicializar el arreglo y listo.

21
00:01:18,390 --> 00:01:19,650
Eso sería queda mucho mejor.

22
00:01:19,800 --> 00:01:26,010
Los siguientes refactorizar en automóvil acá también las ruedas, porque en vez de asignar con el método

23
00:01:26,010 --> 00:01:30,630
set ruedas, podríamos utilizar el método Agregar rueda o a rueda.

24
00:01:31,770 --> 00:01:33,780
Acá estamos usando siempre el set.

25
00:01:34,080 --> 00:01:38,350
Estamos agregando el conjunto completo, el arreglo completo de una sola vez.

26
00:01:38,730 --> 00:01:42,120
Pero también lo podríamos optimizar para agregar una en una.

27
00:01:42,300 --> 00:01:44,600
Eso sería otra forma, otra alternativa.

28
00:01:44,820 --> 00:01:48,720
Y se utiliza mucho con atributos del tipo colección o arreglos.

29
00:01:48,900 --> 00:01:50,240
Utilizar el método ADD.

30
00:01:50,430 --> 00:01:51,930
Entonces vamos a comentar los sets.

31
00:01:53,010 --> 00:01:54,990
Nos vamos hoy a la clase automóvil.

32
00:01:56,220 --> 00:02:02,790
Y vamos a implementar el método AD, bajamos a Tallé transceptor de las ruedas por acá.

33
00:02:03,390 --> 00:02:03,630
Bien.

34
00:02:03,690 --> 00:02:07,920
Y el método muy parecido al set rueda, pero agrega de a uno.

35
00:02:09,060 --> 00:02:20,900
Public void ADT Rueda, rueda, rueda bien de forma estándar se le conoce como add de agregar luego

36
00:02:20,920 --> 00:02:32,970
nombre de la clase rueda, agregar una en una y acá diez punto ruedas corchete y acá necesitamos incrementar

37
00:02:33,060 --> 00:02:37,110
el índice, pero eso lo manejamos con un atributo privado de la clase.

38
00:02:37,530 --> 00:02:43,530
Y acá rueda desde que este índice se va incrementando, que comienza en cero y cada que se invoca el

39
00:02:43,530 --> 00:02:47,510
método agrega rueda o AB se vaya incrementando en uno.

40
00:02:48,030 --> 00:02:55,710
Pero bien, vamos a crear este atributo por acá debajo de ruedas privat del tipo entero.

41
00:02:55,800 --> 00:02:57,730
Es un índice índice.

42
00:02:57,890 --> 00:03:02,760
Rueda ruedas del arreglo bien por defecto cero.

43
00:03:04,150 --> 00:03:05,350
Ya casi va incrementando.

44
00:03:05,470 --> 00:03:06,490
Entonces volvemos al.

45
00:03:07,090 --> 00:03:07,750
Por acá.

46
00:03:08,740 --> 00:03:09,460
Índice.

47
00:03:09,550 --> 00:03:10,210
Ruedas.

48
00:03:10,400 --> 00:03:10,840
Más.

49
00:03:10,840 --> 00:03:11,110
Más.

50
00:03:11,200 --> 00:03:11,770
Un post.

51
00:03:11,860 --> 00:03:12,490
Incremento.

52
00:03:12,610 --> 00:03:13,060
Entonces.

53
00:03:13,060 --> 00:03:15,130
La primera vez que invoquemos el.

54
00:03:15,220 --> 00:03:16,090
A rueda.

55
00:03:16,180 --> 00:03:16,800
Índice.

56
00:03:16,900 --> 00:03:17,470
Ruedas.

57
00:03:17,560 --> 00:03:17,800
Vale.

58
00:03:17,800 --> 00:03:18,190
Cero.

59
00:03:18,520 --> 00:03:21,430
Entonces en el índice cero guarda la primera rueda.

60
00:03:21,700 --> 00:03:24,430
Luego se incrementa un post incremento.

61
00:03:24,550 --> 00:03:25,360
Ahora vale 1.

62
00:03:25,510 --> 00:03:29,680
La segunda vez se va a guardar la segunda rueda en el índice 1.

63
00:03:29,860 --> 00:03:30,790
Se incrementa.

64
00:03:30,940 --> 00:03:31,570
Vale 2.

65
00:03:31,690 --> 00:03:33,040
Y así sucesivamente.

66
00:03:33,190 --> 00:03:33,580
Entonces.

67
00:03:33,670 --> 00:03:35,440
El que maneja el incremento.

68
00:03:35,560 --> 00:03:37,930
Este atributo que es incrementando en 1.

69
00:03:38,080 --> 00:03:40,540
Iba agregando la rueda en cada posición.

70
00:03:40,600 --> 00:03:42,910
En cada índice de forma incremental.

71
00:03:43,180 --> 00:03:43,450
Bien.

72
00:03:43,510 --> 00:03:49,420
Ahora volvemos y tenemos que modificar esto ya que comentamos el set ruedas acá también.

73
00:03:49,750 --> 00:03:51,940
Entonces esto lo movemos hacia abajo.

74
00:03:52,030 --> 00:03:53,080
Lo voy a cortar.

75
00:03:53,860 --> 00:03:54,820
Lo movemos acá.

76
00:03:55,600 --> 00:03:56,380
Perfecto.

77
00:03:56,950 --> 00:03:58,000
Y lo modificamos.

78
00:03:58,150 --> 00:03:59,200
Rueda Subaru.

79
00:03:59,560 --> 00:04:00,070
Entonces.

80
00:04:00,160 --> 00:04:04,630
En vez de esto usamos el método Agregar Subaru.

81
00:04:04,840 --> 00:04:06,370
Punto Add rueda.

82
00:04:09,770 --> 00:04:16,070
Se fijan entonces por cada rueda la vamos agregando y de esta forma se maneja el arreglo de forma interna.

83
00:04:16,160 --> 00:04:23,360
En la clase automóvil y lo mismo acá en Mazda, lo voy a cortar y lo movemos acá.

84
00:04:25,790 --> 00:04:30,160
Entonces esto se cambia por Mazda punto AB.

85
00:04:33,310 --> 00:04:33,790
Y listo.

86
00:04:34,000 --> 00:04:37,660
Bueno, habría que hacer lo mismo con Nizan y con Izando, pero después lo vemos.

87
00:04:37,810 --> 00:04:43,730
Por ahora Magda y Subaru ahora podríamos forzar a que solamente se agregue con el método ADT.

88
00:04:44,350 --> 00:04:50,410
Por lo tanto, podríamos quitar el método Set y también podremos quitar las ruedas del constructor.

89
00:04:50,950 --> 00:04:51,880
Nos vamos a automóvil.

90
00:04:52,210 --> 00:04:55,870
Pero nos falta un detalle, porque si levantamos va a lanzar un error.

91
00:04:55,990 --> 00:04:56,530
Por qué?

92
00:04:56,590 --> 00:04:59,620
Porque dice Rueda, acá lo estamos utilizando.

93
00:04:59,740 --> 00:05:06,040
Estamos tratando de agregar ruedas al arreglo, pero en automóvil en ninguna parte hemos inicializado

94
00:05:06,160 --> 00:05:06,850
el arreglo.

95
00:05:07,000 --> 00:05:08,110
No tiene instancia.

96
00:05:08,200 --> 00:05:11,230
En ninguna parte hemos hecho el New Rueda corchete.

97
00:05:12,010 --> 00:05:17,200
Entonces, si levantamos, va a dar un error de null, null, pointer septón.

98
00:05:17,500 --> 00:05:18,130
Se fijan.

99
00:05:18,550 --> 00:05:20,950
Automóvil 151 null pointer.

100
00:05:20,950 --> 00:05:22,720
Excepto, claro.

101
00:05:23,690 --> 00:05:25,810
Dice Rueda en nulo en Nul.

102
00:05:26,750 --> 00:05:29,420
Entonces lo tenemos que inicializar arriba en el constructor.

103
00:05:29,720 --> 00:05:30,050
Acá.

104
00:05:31,060 --> 00:05:31,930
Entonces por acá.

105
00:05:32,890 --> 00:05:42,640
Punto Ruedas igual New Rueda corchete 5 5 elementos ahora si.

106
00:05:45,580 --> 00:05:46,450
Levantamos.

107
00:05:47,390 --> 00:05:48,050
Y no da error.

108
00:05:48,740 --> 00:05:50,000
Y acá tenemos Subaru.

109
00:05:50,090 --> 00:05:51,710
Bueno, Yokohama.

110
00:05:52,910 --> 00:05:54,050
Y acá manda.

111
00:05:54,170 --> 00:05:55,040
Así que está perfecto.

112
00:05:55,220 --> 00:05:59,630
Pero qué pasa si colocamos, por ejemplo, Rueda 6 acá?

113
00:06:00,970 --> 00:06:01,810
Y levantamos.

114
00:06:03,720 --> 00:06:10,500
Balancearme error, se desbordó el arreglo de que son cinco elementos y acá pusimos seis elementos.

115
00:06:10,830 --> 00:06:14,280
Recuerden que indicamos cinco, no puede agregar más de cinco.

116
00:06:14,460 --> 00:06:19,710
Pero bueno, eso lo podemos manejar con un IF, por ejemplo, nos vamos al agregar rueda.

117
00:06:22,710 --> 00:06:25,420
Entonces preguntamos if índice rueda.

118
00:06:27,180 --> 00:06:35,400
Entonces, si sea menor que el total de 5 o incluso con diez puntos ruedas, punto Lenka el total de

119
00:06:35,400 --> 00:06:35,960
las ruedas.

120
00:06:37,380 --> 00:06:44,190
Entonces, si es menor, agregamos rueda, se fijan, si no nos agrega simplement.

121
00:06:45,030 --> 00:06:49,800
Entonces ahora, incluso si colocamos 10, va a agregar 5, nada más.

122
00:06:51,000 --> 00:06:52,440
La mala va a omitir.

123
00:06:53,570 --> 00:06:55,990
Y no da error, siempre agrega 5.

124
00:06:56,150 --> 00:06:58,490
Se fijan acá 5.

125
00:06:59,590 --> 00:07:01,630
Así que está perfecto, lo manejamos con el diff.

126
00:07:01,990 --> 00:07:04,310
Y también podría manejar en Nissan con el auto.

127
00:07:04,450 --> 00:07:09,430
Pero lo vamos a hacer de una forma distinta también para que conozcan las distintas alternativas.

128
00:07:09,580 --> 00:07:13,010
Por ejemplo, acá Nissan Punto AB.

129
00:07:13,960 --> 00:07:15,400
Acá agregamos una sola rueda.

130
00:07:15,520 --> 00:07:19,480
Voy a copiar y voy a pegar bien.

131
00:07:19,570 --> 00:07:21,400
Esto lo voy a quitar ya no necesario.

132
00:07:23,680 --> 00:07:29,830
Voy a quitar reconstructor ya, pero recuerden que el constructor requiere cuando si no persona requiere

133
00:07:29,830 --> 00:07:30,530
tal vez la rueda.

134
00:07:30,700 --> 00:07:37,060
Entonces en este caso tendríamos que agregar BHA con el método SET o bien crear otro constructor que

135
00:07:37,060 --> 00:07:39,040
solamente agregue personas pero no las ruedas.

136
00:07:39,130 --> 00:07:39,700
Otra forma.

137
00:07:41,440 --> 00:07:48,720
Pero para el ejemplo da lo mismo Zeth, persona o conductor, vea listo y agregamos la rueda.

138
00:07:50,620 --> 00:07:53,360
Un, dos, tres, cuatro, cinco.

139
00:07:53,470 --> 00:07:55,390
Pero mejor obviamente usar un foro.

140
00:07:55,690 --> 00:08:00,310
Mejor que optimizado, pero para eso tendremos que crear un arreglo de 5 elementos.

141
00:08:00,520 --> 00:08:05,860
Pero es bien, lo que quiero ver es otra cosa llamar métodos de forma encadenada.

142
00:08:05,920 --> 00:08:13,690
Por ejemplo, Nizan punto de rueda y que el método agregar rueda ad rueda invoque nuevamente el ad rueda.

143
00:08:14,110 --> 00:08:22,750
Es decir, acá voy a quitar lo punto y coma, lo dejo al final y voy a quitar la instancia acá nizan

144
00:08:24,730 --> 00:08:25,150
da error.

145
00:08:25,210 --> 00:08:31,840
No se preocupen, está bien, pero la idea de que este Nizan perdón acá en Nisan un solo Nizan.

146
00:08:31,870 --> 00:08:36,070
Entonces Nizan punto agregar rueda iete a do rueda.

147
00:08:36,520 --> 00:08:40,840
Invoque nuevamente el agregar rueda iete agregar rueda.

148
00:08:40,930 --> 00:08:46,540
Invoque nuevamente este agregar rueda se vayan invocando de forma encadenada.

149
00:08:46,600 --> 00:08:47,710
Cómo lo puedo manejar?

150
00:08:48,310 --> 00:08:50,530
Bien, voy a bajar acá se fijan?

151
00:08:54,170 --> 00:08:54,810
Simple.

152
00:08:55,610 --> 00:09:05,420
Vamos a clase automóvil y este método barto nar diz la misma instancia retornÃ nadis el mismo objeto.

153
00:09:05,690 --> 00:09:10,730
De esa forma como retornan a su propia instancia, la misma referencia se puede volver a invocar los

154
00:09:10,730 --> 00:09:12,000
métodos del objeto.

155
00:09:12,190 --> 00:09:19,870
Entonces, punto y coma cambiamos el tipo en vez de void sería retorna el tipo de la clase dis automóvil.

156
00:09:22,250 --> 00:09:28,070
Se fijan, volvemos acá y se quita el error, entonces de esa forma invocamos la rueda de forma encadenada

157
00:09:28,170 --> 00:09:32,060
y cada invocación retorna el mismo objeto Nissan Automóvil.

158
00:09:32,150 --> 00:09:35,660
Otra forma para invocar métodos encadenados de fican hay diferente forma.

159
00:09:35,720 --> 00:09:37,590
Continuamos en la siguiente clase.
