objetos con atributos de vectores
DESCRIPTION
Demostración de la creación de una clase de JAVA que emplea un atributo de tipo Objeto y que al mismo tiempo se declara como vector. Se emplean los métodos GET para traer información de los objetos.TRANSCRIPT
Objetos con Vectores
@josefabiandiaz
Msc.Ing.Jose Fabián Diaz Silva
La clase que generara Objetos
Lo primero que se debe crear es un molde
del cual se generan los objetos con
propiedades y métodos, pero agregando
valores a los mismas.
public class Persona {
String nombre;
int edad;
String profesion;
}
Las parejas que no deben faltar
Siempre se recomienda el emplear
una pareja de métodos que permiten
modificar y recuperar la información
de las propiedades(atributos) de la
Clase.
public String getNombre() {
return nombre;
} “Recupero”
public void setNombre(String nombre) {
this.nombre = nombre;
} “Modifico”
Para crear Objetos
Hay que darle al molde la
capacidad de crear objetos y esto
se logra con un método especial
Llamado Constructor, que lleva el
mismo nombre que la clase.
public Persona(String nombre, int edad,
String profesion)
{
this.nombre = nombre;
this.edad = edad;
this.profesion = profesion;
}
Objetos dentro de Objetos
Una clase puede tener como atributo
otra clase para representar de manera
mas precisa la realidad.
public Nave
{
String nombre;
Persona tripulante;
String estado;
}
Un Objeto como parámetro
El constructor de la nueva clase
(nave) utiliza el atributo de tipo Persona
como un parámetro mas.
public Nave(String nombre, Persona
tripulante, String estado)
{
this.nombre = nombre;
this.tripulante = tripulante;
this.estado = estado;
}
Creando Objetos
Todos los objetos requieren una clase
main para ser invocados y asignarles sus
valores.
public class Principal {
public static void main(String[] args) {
Persona P=new Persona("Juan
Valdez",50,"Caficultor");
Nave N=new
Nave("Prometheus",P,"Activo");
}
}
Imprimiendo Valores
Los valores se imprimen invocando los
métodos GET e indicando que será la
pantalla el lugar donde se presentaran.
(System.out.println).
Imprime nombre persona:
System.out.println(P.getNombre());
Imprime nombre de la persona que esta dentro de
la Nave:
System.out.println(N.getTripulante().getNombre());
Y si hay mas de un tripulante?
Hay que hacer algunas modificaciones
en la clase nave para recibir mas de un
tripulante. Para ellos se indica que
este atributo es de tipo vector.
Persona [ ] tripulante;
public Persona [] getTripulante() {
return tripulante;
}
public void setTripulante(Persona tripulante []) {
this.tripulante = tripulante;
}
public Nave(String nombre, Persona tripulante [],
String estado) {
this.nombre = nombre;
this.tripulante = tripulante;
this.estado = estado;
}
Creando mas de un tripulante
Ahora es necesario crear mas de
un tripulante , agruparlos en un vector
y vincularlos a la nave.
Persona P=new Persona("Juan Valdez",50,"Caficultor");
Persona P2=new Persona("Jhon Doe",30,"Abogado");
Persona P3=new Persona("Jane Doe",21,"Ingeniera");
Persona [] VTripulantes={P,P2,P3};
Nave N=new Nave("Prometheus",VTripulantes,"Activo");
Imprimiendo los tripulantes
Para presentar todos los tripulantes
es necesario recorrer el vector que
esta al interior de la nave.
Length: permite recuperar el
tamaño del vector recuperado.
N representa el Objeto nave
for(int i=0;i<N.getTripulante().length;i++)
System.out.println(N.getTripulante()[i].getNombre());
Se emplea la “i” para acceder a las posiciones
individuales del vector de “tripulantes” e invocar en
cada una de estas posiciones el método GET que
retornara el nombre.