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

відповіді
відповідівідповіді
відповіді
jkmuffgrhdcv
 
модуль у шкільному курсі математики
модуль у шкільному курсі математикимодуль у шкільному курсі математики
модуль у шкільному курсі математики
kristina_chepil
 
Розв'язування задач на знаходження площі многокутників.docx
Розв'язування задач на знаходження площі многокутників.docxРозв'язування задач на знаходження площі многокутників.docx
Розв'язування задач на знаходження площі многокутників.docx
Репетитор Історія України
 
11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр
Aira_Roo
 
презентация шмаков Диплом
презентация шмаков Дипломпрезентация шмаков Диплом
презентация шмаков ДипломСергей Шмаков
 
Тригонометричні функції тангенс і котангенс
Тригонометричні функції тангенс і котангенсТригонометричні функції тангенс і котангенс
Тригонометричні функції тангенс і котангенс
Татьяна Ильющенко
 
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
sveta7940
 
Додавання раціональних чисел. 6 клас
Додавання раціональних чисел. 6 класДодавання раціональних чисел. 6 клас
Додавання раціональних чисел. 6 клас
Катя Смаль
 
вектори
векторивектори
векториLesya74
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Salesforce Developers
 
Загальне рівняння площини та його дослідження
Загальне рівняння площини та його дослідженняЗагальне рівняння площини та його дослідження
Загальне рівняння площини та його дослідження
Oksana Bryk
 
квадратні корені
квадратні кореніквадратні корені
квадратні корені
Tetyana Andrikevych
 
Express JS
Express JSExpress JS
Express JS
Alok Guha
 
Вектори та їх властивості
Вектори та їх властивостіВектори та їх властивості
Вектори та їх властивостіFormula.co.ua
 
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома зміннимиГрафічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
Olexandr Lazarets
 
Числові вирази. Рівності та нерівності.
Числові вирази. Рівності та нерівності.Числові вирази. Рівності та нерівності.
Числові вирази. Рівності та нерівності.
sveta7940
 
Математичні софізми
Математичні софізмиМатематичні софізми
Математичні софізми
tcherkassova2104
 
Vuex
VuexVuex
JavaScript - Chapter 15 - Debugging Techniques
 JavaScript - Chapter 15 - Debugging Techniques JavaScript - Chapter 15 - Debugging Techniques
JavaScript - Chapter 15 - Debugging Techniques
WebStackAcademy
 
Чотирикутники та їх властивості
Чотирикутники та їх властивостіЧотирикутники та їх властивості
Чотирикутники та їх властивостіFormula.co.ua
 

La actualidad más candente (20)

відповіді
відповідівідповіді
відповіді
 
модуль у шкільному курсі математики
модуль у шкільному курсі математикимодуль у шкільному курсі математики
модуль у шкільному курсі математики
 
Розв'язування задач на знаходження площі многокутників.docx
Розв'язування задач на знаходження площі многокутників.docxРозв'язування задач на знаходження площі многокутників.docx
Розв'язування задач на знаходження площі многокутників.docx
 
11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр
 
презентация шмаков Диплом
презентация шмаков Дипломпрезентация шмаков Диплом
презентация шмаков Диплом
 
Тригонометричні функції тангенс і котангенс
Тригонометричні функції тангенс і котангенсТригонометричні функції тангенс і котангенс
Тригонометричні функції тангенс і котангенс
 
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
Урок №4 Основна властивість дробу. Зведення дробів до спільного знаменника.
 
Додавання раціональних чисел. 6 клас
Додавання раціональних чисел. 6 класДодавання раціональних чисел. 6 клас
Додавання раціональних чисел. 6 клас
 
вектори
векторивектори
вектори
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
 
Загальне рівняння площини та його дослідження
Загальне рівняння площини та його дослідженняЗагальне рівняння площини та його дослідження
Загальне рівняння площини та його дослідження
 
квадратні корені
квадратні кореніквадратні корені
квадратні корені
 
Express JS
Express JSExpress JS
Express JS
 
Вектори та їх властивості
Вектори та їх властивостіВектори та їх властивості
Вектори та їх властивості
 
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома зміннимиГрафічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
Графічний спосіб розв’язування системи двох лінійних рівнянь з двома змінними
 
Числові вирази. Рівності та нерівності.
Числові вирази. Рівності та нерівності.Числові вирази. Рівності та нерівності.
Числові вирази. Рівності та нерівності.
 
Математичні софізми
Математичні софізмиМатематичні софізми
Математичні софізми
 
Vuex
VuexVuex
Vuex
 
JavaScript - Chapter 15 - Debugging Techniques
 JavaScript - Chapter 15 - Debugging Techniques JavaScript - Chapter 15 - Debugging Techniques
JavaScript - Chapter 15 - Debugging Techniques
 
Чотирикутники та їх властивості
Чотирикутники та їх властивостіЧотирикутники та їх властивості
Чотирикутники та їх властивості
 

Similar a Recorrer objetos - Java

Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
Jose Diaz Silva
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
PEDRO OSWALDO BELTRAN CANESSA
 
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 Scala
dhaat
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
Richard Eliseo Mendoza Gafaro
 
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
Eric Gustavo Coronel Castillo
 
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
Clara Patricia Avella Ibañez
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
Renny Batista
 
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.pdf
fperezg17
 
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
Eric Gustavo Coronel Castillo
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
BelenMonse
 
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
Silvana 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 Avanzados
Jose Diaz Silva
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
Jose Diaz Silva
 
Modding PC
Modding PCModding PC
Modding PC
Jose Diaz Silva
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
Jose Diaz Silva
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacion
Jose Diaz Silva
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos varios
Jose 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 Software
Jose Diaz Silva
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia Segura
Jose 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 - XP
Jose Diaz Silva
 
Taller Crontab - Ubuntu
Taller Crontab  - UbuntuTaller Crontab  - Ubuntu
Taller Crontab - Ubuntu
Jose Diaz Silva
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de Software
Jose Diaz Silva
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en Ubuntu
Jose 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 Software
Jose Diaz Silva
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - Compendio
Jose 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 xe
Jose 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 - Compendio
Jose Diaz Silva
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - Compendio
Jose Diaz Silva
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
Jose Diaz Silva
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finales
Jose 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

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
arriagaanggie50
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 

Último (20)

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 

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; } }