Continuamos en esta clase, vamos a mejorar y optimizar un poco más nuestro código.
Por ejemplo, acá en la rueda estamos agregando, pero siempre la misma.
Entonces podría quedar mucho mejor con un Ford.
Bueno, de hecho si fueran distintas estaría perfecto, pero como son todo iguales, un Ford queda mucho
mejor.
Optimizamos línea de código.
Bien, vamos a iterar hasta total, que serían 5 incrementamos.
Perfecto.
Voy a copiar cualquiera y le cambiamos el índice.
Lo dejamos con el que sea incrementando de forma automática.
Iba a agregar de 0 a 4 5 ruedas y esto le quitamos.
Siempre la misma rueda, bien, lo mismo con Magda.
12 ruedas Mazda, punto Lenka, incrementamos ruedas, Mazda corchete y igual cupieron cualquiera,
por ejemplo esta Daka son todas iguales.
Es importante que sea acá Rueda Mazda, Ramada y acá Subaru.
Bien.
Qué más?
Esto de acá le quitamos.
Vamos a quitar esto y lo cambiamos con el New New Rueda corchete igual a 5.
Tenemos que inicializar el arreglo y listo.
Eso sería queda mucho mejor.
Los siguientes refactorizar en automóvil acá también las ruedas, porque en vez de asignar con el método
set ruedas, podríamos utilizar el método Agregar rueda o a rueda.
Acá estamos usando siempre el set.
Estamos agregando el conjunto completo, el arreglo completo de una sola vez.
Pero también lo podríamos optimizar para agregar una en una.
Eso sería otra forma, otra alternativa.
Y se utiliza mucho con atributos del tipo colección o arreglos.
Utilizar el método ADD.
Entonces vamos a comentar los sets.
Nos vamos hoy a la clase automóvil.
Y vamos a implementar el método AD, bajamos a Tallé transceptor de las ruedas por acá.
Bien.
Y el método muy parecido al set rueda, pero agrega de a uno.
Public void ADT Rueda, rueda, rueda bien de forma estándar se le conoce como add de agregar luego
nombre de la clase rueda, agregar una en una y acá diez punto ruedas corchete y acá necesitamos incrementar
el índice, pero eso lo manejamos con un atributo privado de la clase.
Y acá rueda desde que este índice se va incrementando, que comienza en cero y cada que se invoca el
método agrega rueda o AB se vaya incrementando en uno.
Pero bien, vamos a crear este atributo por acá debajo de ruedas privat del tipo entero.
Es un índice índice.
Rueda ruedas del arreglo bien por defecto cero.
Ya casi va incrementando.
Entonces volvemos al.
Por acá.
Índice.
Ruedas.
Más.
Un post.
Incremento.
Entonces.
La primera vez que invoquemos el.
A rueda.
Índice.
Ruedas.
Vale.
Cero.
Entonces en el índice cero guarda la primera rueda.
Luego se incrementa un post incremento.
Ahora vale 1.
La segunda vez se va a guardar la segunda rueda en el índice 1.
Se incrementa.
Vale 2.
Y así sucesivamente.
Entonces.
El que maneja el incremento.
Este atributo que es incrementando en 1.
Iba agregando la rueda en cada posición.
En cada índice de forma incremental.
Bien.
Ahora volvemos y tenemos que modificar esto ya que comentamos el set ruedas acá también.
Entonces esto lo movemos hacia abajo.
Lo voy a cortar.
Lo movemos acá.
Perfecto.
Y lo modificamos.
Rueda Subaru.
Entonces.
En vez de esto usamos el método Agregar Subaru.
Punto Add rueda.
Se fijan entonces por cada rueda la vamos agregando y de esta forma se maneja el arreglo de forma interna.
En la clase automóvil y lo mismo acá en Mazda, lo voy a cortar y lo movemos acá.
Entonces esto se cambia por Mazda punto AB.
Y listo.
Bueno, habría que hacer lo mismo con Nizan y con Izando, pero después lo vemos.
Por ahora Magda y Subaru ahora podríamos forzar a que solamente se agregue con el método ADT.
Por lo tanto, podríamos quitar el método Set y también podremos quitar las ruedas del constructor.
Nos vamos a automóvil.
Pero nos falta un detalle, porque si levantamos va a lanzar un error.
Por qué?
Porque dice Rueda, acá lo estamos utilizando.
Estamos tratando de agregar ruedas al arreglo, pero en automóvil en ninguna parte hemos inicializado
el arreglo.
No tiene instancia.
En ninguna parte hemos hecho el New Rueda corchete.
Entonces, si levantamos, va a dar un error de null, null, pointer septón.
Se fijan.
Automóvil 151 null pointer.
Excepto, claro.
Dice Rueda en nulo en Nul.
Entonces lo tenemos que inicializar arriba en el constructor.
Acá.
Entonces por acá.
Punto Ruedas igual New Rueda corchete 5 5 elementos ahora si.
Levantamos.
Y no da error.
Y acá tenemos Subaru.
Bueno, Yokohama.
Y acá manda.
Así que está perfecto.
Pero qué pasa si colocamos, por ejemplo, Rueda 6 acá?
Y levantamos.
Balancearme error, se desbordó el arreglo de que son cinco elementos y acá pusimos seis elementos.
Recuerden que indicamos cinco, no puede agregar más de cinco.
Pero bueno, eso lo podemos manejar con un IF, por ejemplo, nos vamos al agregar rueda.
Entonces preguntamos if índice rueda.
Entonces, si sea menor que el total de 5 o incluso con diez puntos ruedas, punto Lenka el total de
las ruedas.
Entonces, si es menor, agregamos rueda, se fijan, si no nos agrega simplement.
Entonces ahora, incluso si colocamos 10, va a agregar 5, nada más.
La mala va a omitir.
Y no da error, siempre agrega 5.
Se fijan acá 5.
Así que está perfecto, lo manejamos con el diff.
Y también podría manejar en Nissan con el auto.
Pero lo vamos a hacer de una forma distinta también para que conozcan las distintas alternativas.
Por ejemplo, acá Nissan Punto AB.
Acá agregamos una sola rueda.
Voy a copiar y voy a pegar bien.
Esto lo voy a quitar ya no necesario.
Voy a quitar reconstructor ya, pero recuerden que el constructor requiere cuando si no persona requiere
tal vez la rueda.
Entonces en este caso tendríamos que agregar BHA con el método SET o bien crear otro constructor que
solamente agregue personas pero no las ruedas.
Otra forma.
Pero para el ejemplo da lo mismo Zeth, persona o conductor, vea listo y agregamos la rueda.
Un, dos, tres, cuatro, cinco.
Pero mejor obviamente usar un foro.
Mejor que optimizado, pero para eso tendremos que crear un arreglo de 5 elementos.
Pero es bien, lo que quiero ver es otra cosa llamar métodos de forma encadenada.
Por ejemplo, Nizan punto de rueda y que el método agregar rueda ad rueda invoque nuevamente el ad rueda.
Es decir, acá voy a quitar lo punto y coma, lo dejo al final y voy a quitar la instancia acá nizan
da error.
No se preocupen, está bien, pero la idea de que este Nizan perdón acá en Nisan un solo Nizan.
Entonces Nizan punto agregar rueda iete a do rueda.
Invoque nuevamente el agregar rueda iete agregar rueda.
Invoque nuevamente este agregar rueda se vayan invocando de forma encadenada.
Cómo lo puedo manejar?
Bien, voy a bajar acá se fijan?
Simple.
Vamos a clase automóvil y este método barto nar diz la misma instancia retornÃ nadis el mismo objeto.
De esa forma como retornan a su propia instancia, la misma referencia se puede volver a invocar los
métodos del objeto.
Entonces, punto y coma cambiamos el tipo en vez de void sería retorna el tipo de la clase dis automóvil.
Se fijan, volvemos acá y se quita el error, entonces de esa forma invocamos la rueda de forma encadenada
y cada invocación retorna el mismo objeto Nissan Automóvil.
Otra forma para invocar métodos encadenados de fican hay diferente forma.
Continuamos en la siguiente clase.