Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: greenselves en 14 Febrero 2011, 19:07 PM

Título: Como trabajar con varios objetos a la vez?
Publicado por: greenselves en 14 Febrero 2011, 19:07 PM
hola! Espero me puedan ayudar con este programa que estoy haciendo.
Dentro del programa uso varios objetos dentro de una clase, y necesito hacer búsquedas para saber su estado desde el main.

Cada objeto tiene un estado: activado y desactivado.

Dentro del proceso, necesito marcar objetos, activandolos y desactivandolos,
eso lo hago con un metodo:

public void desactivar() {
this.estado=false;
}


Esto lo hago de forma manual, es decir, marcandolos uno por uno,
y lo que quiero es ir desactivandolos de varios,
algo asi como un ciclo for y desactivar ciertos objetos, pero sin afectar todos los que se encuentran dentro de la clase, no se si me explico.

si objeto.estado == true
print ( "El objeto"+ objeto.print + "esta activo" );

Espero me puedan ayudar, como le puedo hacer para resolver esto, o un tip para hacer algo parecido.

De antemano gracias. :D
Título: Re: Como trabajar con varios objetos a la vez?
Publicado por: Gallu en 14 Febrero 2011, 20:46 PM
Fíjate
Código (java) [Seleccionar]

class MyObject{
private boolean estado;

MyObject(){} //constructor sin parámetros

//constructor
MyObject(boolean estado){
this.estado = estado;
}

public void desactivar() {
this.estado=false;
}

public boolean getEstado(){
return this.estado;
}
}

class MyObjectTest{

public static void  main (String[] args){
boolean activado = true;

//lista con 3 objectos activos
MyObject [] listaObjetos = { new MyObject(activado), new MyObject(activado), new MyObject(activado)};

for(MyObject obj : listaObjetos){
System.out.println("Objeto activado = " +obj.getEstado()+ " lo desactivamos !!!" );
obj.desactivar();
}

for(MyObject obj : listaObjetos){
System.out.println("Objeto activado = " +obj.getEstado());
}
}
}


la salida de este programa es ...

Objeto activado = true lo desactivamos !!!
Objeto activado = true lo desactivamos !!!
Objeto activado = true lo desactivamos !!!
Objeto activado = false
Objeto activado = false
Objeto activado = false