Como trabajar con varios objetos a la vez?

Iniciado por greenselves, 14 Febrero 2011, 19:07 PM

0 Miembros y 1 Visitante están viendo este tema.

greenselves

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
Greenselves

Gallu

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



Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.