0
Recorrer Objetos dentro de
Objetos
@josefabiandiaz
Planeta – Nave - Persona

 Un problema común en trabajo con

Objetos en la necesidad de recorrer clases
que se encuentran...
Un paso mas lejos de Get

 Para simplificar los códigos se acostumbra
a dotar las clases de sus propios métodos de
recorr...
No imprimir lo que no hay

 Si hay dudas que exista un valor al interior
de los vectores a recorrer, se debe verificar la...
Todo en uno

 Cuando se tiene un anidamiento(clases
dentro de clases) de varios niveles. Es posible
emplear un método que...
Llegando de Uno en Uno
 Hay casos que es necesario agregar
al vector atributo de una clase un

elemento de uno en uno. Lo...
Consultas:

José Fabián Diaz
Silva

@josefabiandiaz
josefabiandiazs@gmail.com
https://www.youtube.com/user/fabiandiazs
Upcoming SlideShare
Loading in...5
×

Recorrer objetos - Java

854

Published on

Se detallan métodos con los cuales se facilita el recorrido de Objetos que se encuentran dentro de otros objetos. De la misma forma se presenta una estrategia para agregar elementos a un vector estático y permitir la ilusión que este se ajusta al nuevo tamaño.
Importante: Se debe agregar String finDeLinea = System.getProperty("line.separator"); para reemplazar el "\n" para compatibilidad entre plataformas.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
854
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Recorrer objetos - Java"

  1. 1. Recorrer Objetos dentro de Objetos @josefabiandiaz
  2. 2. Planeta – Nave - Persona  Un problema común en trabajo con Objetos en la necesidad de recorrer clases que se encuentran al interior de otras clases. Incluso muchas veces estas clases son Vectores completos que deben ser accedidos sucesivamente. Public class Planeta{ String nombre; Nave [] visitantes; } Public class Nave{ String nombre; Persona [] tripulantes; } Public class Persona{ String nombre; }
  3. 3. Un paso mas lejos de Get  Para simplificar los códigos se acostumbra a dotar las clases de sus propios métodos de recorrido que no consiste solo en recuperar el valor de la propiedad con Get. Al interior de la clase Nave public String ImprimirTripulantes() { String cadena=""; for (int i = 0; i < tripulantes.length; i++) { cadena=cadena + tripulante[i].getNombre() + "n"; } return cadena; }
  4. 4. No imprimir lo que no hay  Si hay dudas que exista un valor al interior de los vectores a recorrer, se debe verificar la diferencia con el null y posteriormente recorrerlo. Al interior de la clase Planeta public String ImprimirNaves(){ String cadena=""; if(visitantes!=null) { for (int i = 0; i < visitantes.length; i++) { cadena=cadena + visitantes[i].getNombre()+ "n" ; }}else {cadena="sin visitantes";} return cadena; }
  5. 5. Todo en uno  Cuando se tiene un anidamiento(clases dentro de clases) de varios niveles. Es posible emplear un método que agrupe recorridos con una sola invocación. Al interior de la clase Planeta public String ImprimirCompleto(){ String cadena=""; if(visitantes!=null) { for (int i = 0; i < visitantes.length; i++) {cadena=cadena + "Nombre nave: "; cadena=cadena + visitantes[i].getNombre()+ "n" ; cadena=cadena + visitantes[i].ImprimirTripulantes(); }}else {cadena="sin visitantes";} return cadena; }
  6. 6. Llegando de Uno en Uno  Hay casos que es necesario agregar al vector atributo de una clase un elemento de uno en uno. Lo que es un problema al ser un vector estático. Para solucionarlo se realiza lo siguiente. Importante: Una mejor practica es emplear la librerías collection de Java Al interior de la clase Planeta public void AgregarVisitante(Nave visitantenuevo){ if(visitantes==null){ visitantes=new Nave[1]; visitantes[0]=visitantenuevo; }else{ Nave [] temp=new Nave[visitantes.length + 1]; for (int i = 0; i < temp.length-1; i++) { temp[i]=visitantes[i]; } temp[temp.length-1]=visitantenuevo; visitantes=temp; } }
  7. 7. Consultas: José Fabián Diaz Silva @josefabiandiaz josefabiandiazs@gmail.com https://www.youtube.com/user/fabiandiazs
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×