SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

DVGA writeup
DVGA writeupDVGA writeup
DVGA writeupYu Iwama
 
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...gmaran23
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - ExplainedSmita Prasad
 
Grails Connecting to MySQL
Grails Connecting to MySQLGrails Connecting to MySQL
Grails Connecting to MySQLashishkirpan
 
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
Android | Android Activity Launch Modes and Tasks | Gonçalo SilvaAndroid | Android Activity Launch Modes and Tasks | Gonçalo Silva
Android | Android Activity Launch Modes and Tasks | Gonçalo SilvaJAX London
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionGoing Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionSoroush Dalili
 
Braavos Wallet Workshop.pdf
Braavos Wallet Workshop.pdfBraavos Wallet Workshop.pdf
Braavos Wallet Workshop.pdfTinaBregovi
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016Frans Rosén
 
Anatomy of business logic vulnerabilities
Anatomy of business logic vulnerabilitiesAnatomy of business logic vulnerabilities
Anatomy of business logic vulnerabilitiesDaveEdwards12
 
Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium  Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium Zoe Gilbert
 
Burp Suite Extension Development
Burp Suite Extension DevelopmentBurp Suite Extension Development
Burp Suite Extension DevelopmentNSConclave
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of DjangoJacob Kaplan-Moss
 
Event Driven Systems with Spring Boot, Spring Cloud Streams and Kafka
Event Driven Systems with Spring Boot, Spring Cloud Streams and KafkaEvent Driven Systems with Spring Boot, Spring Cloud Streams and Kafka
Event Driven Systems with Spring Boot, Spring Cloud Streams and KafkaVMware Tanzu
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration TestingCheah Eng Soon
 

La actualidad más candente (20)

DVGA writeup
DVGA writeupDVGA writeup
DVGA writeup
 
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...
Automating Web Application Security Testing With OWASP ZAP DOT NET API - Tech...
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - Explained
 
Grails Connecting to MySQL
Grails Connecting to MySQLGrails Connecting to MySQL
Grails Connecting to MySQL
 
Hexagonal architecture in PHP
Hexagonal architecture in PHPHexagonal architecture in PHP
Hexagonal architecture in PHP
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
Android | Android Activity Launch Modes and Tasks | Gonçalo SilvaAndroid | Android Activity Launch Modes and Tasks | Gonçalo Silva
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionGoing Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
 
Braavos Wallet Workshop.pdf
Braavos Wallet Workshop.pdfBraavos Wallet Workshop.pdf
Braavos Wallet Workshop.pdf
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Introduction to gradle
Introduction to gradleIntroduction to gradle
Introduction to gradle
 
Anatomy of business logic vulnerabilities
Anatomy of business logic vulnerabilitiesAnatomy of business logic vulnerabilities
Anatomy of business logic vulnerabilities
 
Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium  Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium
 
Burp Suite Extension Development
Burp Suite Extension DevelopmentBurp Suite Extension Development
Burp Suite Extension Development
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of Django
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Event Driven Systems with Spring Boot, Spring Cloud Streams and Kafka
Event Driven Systems with Spring Boot, Spring Cloud Streams and KafkaEvent Driven Systems with Spring Boot, Spring Cloud Streams and Kafka
Event Driven Systems with Spring Boot, Spring Cloud Streams and Kafka
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration Testing
 

Similar a 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
 

Similar a 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
 

Más de 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
 

Más de 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
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (13)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .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; } }