SlideShare ist ein Scribd-Unternehmen logo
1 von 7
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 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;
}
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;
}
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;
}
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;
}
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;
}
}
Consultas:

José Fabián Diaz
Silva

@josefabiandiaz
josefabiandiazs@gmail.com
https://www.youtube.com/user/fabiandiazs

Weitere ähnliche Inhalte

Was ist angesagt?

Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Coremohamed elshafey
 
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...avanttic Consultoría Tecnológica
 
Introduction to Listview in Android
Introduction to Listview in AndroidIntroduction to Listview in Android
Introduction to Listview in Androidtechnoguff
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
 
E-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemE-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemAbhishek Kumar
 
introduction to Vue.js 3
introduction to Vue.js 3 introduction to Vue.js 3
introduction to Vue.js 3 ArezooKmn
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編ksimoji
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : ColaEmerson Garay
 
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...Edureka!
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX PerformanceScott Wesley
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021César Hernández
 
El logaritmo
El logaritmoEl logaritmo
El logaritmoleonnnc
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定Enpel
 
Spring Security
Spring SecuritySpring Security
Spring SecurityBoy Tech
 
Aplicación de escritorio con java
Aplicación de escritorio con javaAplicación de escritorio con java
Aplicación de escritorio con javaEmerson Garay
 

Was ist angesagt? (20)

Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
Webinar - Desarrollo con Oracle Application Express (APEX): demostración prác...
 
Introduction to Listview in Android
Introduction to Listview in AndroidIntroduction to Listview in Android
Introduction to Listview in Android
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
 
E-Commerce Mobile Sale System
E-Commerce Mobile Sale SystemE-Commerce Mobile Sale System
E-Commerce Mobile Sale System
 
introduction to Vue.js 3
introduction to Vue.js 3 introduction to Vue.js 3
introduction to Vue.js 3
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Express js
Express jsExpress js
Express js
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : Cola
 
Express JS
Express JSExpress JS
Express JS
 
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...
Angular 4 Data Binding | Two Way Data Binding in Angular 4 | Angular 4 Tutori...
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX Performance
 
Objeto SqlDataAdapter
Objeto SqlDataAdapterObjeto SqlDataAdapter
Objeto SqlDataAdapter
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
 
El logaritmo
El logaritmoEl logaritmo
El logaritmo
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Aplicación de escritorio con java
Aplicación de escritorio con javaAplicación de escritorio con java
Aplicación de escritorio con java
 

Ähnlich wie Recorrer objetos - Java

Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectoresJose Diaz Silva
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scaladhaat
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoojorg_marq
 
Sobrecarga de Métodos y Constructores.pdf
Sobrecarga de Métodos y Constructores.pdfSobrecarga de Métodos y Constructores.pdf
Sobrecarga de Métodos y Constructores.pdffperezg17
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetosBelenMonse
 
Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ecSilvana Vargas
 

Ähnlich wie Recorrer objetos - Java (20)

Tema2
Tema2Tema2
Tema2
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Poo
PooPoo
Poo
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
 
Java
JavaJava
Java
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Clase 2
Clase 2 Clase 2
Clase 2
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
 
Sobrecarga de Métodos y Constructores.pdf
Sobrecarga de Métodos y Constructores.pdfSobrecarga de Métodos y Constructores.pdf
Sobrecarga de Métodos y Constructores.pdf
 
Tema5
Tema5Tema5
Tema5
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ec
 

Mehr von Jose Diaz Silva

Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos AvanzadosJose Diaz Silva
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosJose Diaz Silva
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - UbuntuJose Diaz Silva
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacionJose Diaz Silva
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos variosJose Diaz Silva
 
Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetosJose Diaz Silva
 
Pruebas de implantación del Software
Pruebas de implantación del SoftwarePruebas de implantación del Software
Pruebas de implantación del SoftwareJose Diaz Silva
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraJose Diaz Silva
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPJose Diaz Silva
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de SoftwareJose Diaz Silva
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en UbuntuJose Diaz Silva
 
Errores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareErrores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareJose Diaz Silva
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioJose Diaz Silva
 
Llenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeLlenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeJose Diaz Silva
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioJose Diaz Silva
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - CompendioJose Diaz Silva
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionJose Diaz Silva
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finalesJose Diaz Silva
 

Mehr von Jose Diaz Silva (20)

Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos Avanzados
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
 
Modding PC
Modding PCModding PC
Modding PC
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacion
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos varios
 
Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetos
 
Pruebas de implantación del Software
Pruebas de implantación del SoftwarePruebas de implantación del Software
Pruebas de implantación del Software
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia Segura
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
Taller Crontab - Ubuntu
Taller Crontab  - UbuntuTaller Crontab  - Ubuntu
Taller Crontab - Ubuntu
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de Software
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en Ubuntu
 
Errores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareErrores y fracasos en la implantación de Software
Errores y fracasos en la implantación de Software
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - Compendio
 
Llenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeLlenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xe
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - Compendio
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - Compendio
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finales
 

Kürzlich hochgeladen

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Kürzlich hochgeladen (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

Recorrer objetos - Java

  • 1. Recorrer Objetos dentro de Objetos @josefabiandiaz
  • 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. 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. 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. 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. 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; } }