Foro de elhacker.net

Programación => 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:

Código:
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
  1. class MyObject{
  2. private boolean estado;
  3.  
  4. MyObject(){} //constructor sin parámetros
  5.  
  6. //constructor
  7. MyObject(boolean estado){
  8. this.estado = estado;
  9. }
  10.  
  11. public void desactivar() {
  12. this.estado=false;
  13. }
  14.  
  15. public boolean getEstado(){
  16. return this.estado;
  17. }
  18. }
  19.  
  20. class MyObjectTest{
  21.  
  22. public static void  main (String[] args){
  23. boolean activado = true;
  24.  
  25. //lista con 3 objectos activos
  26. MyObject [] listaObjetos = { new MyObject(activado), new MyObject(activado), new MyObject(activado)};
  27.  
  28. for(MyObject obj : listaObjetos){
  29. System.out.println("Objeto activado = " +obj.getEstado()+ " lo desactivamos !!!" );
  30. obj.desactivar();
  31. }
  32.  
  33. for(MyObject obj : listaObjetos){
  34. System.out.println("Objeto activado = " +obj.getEstado());
  35. }
  36. }
  37. }
  38.  

la salida de este programa es ...
Código
  1. Objeto activado = true lo desactivamos !!!
  2. Objeto activado = true lo desactivamos !!!
  3. Objeto activado = true lo desactivamos !!!
  4. Objeto activado = false
  5. Objeto activado = false
  6. Objeto activado = false
  7.  
  8.