Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/05/2009, 00:04
Avatar de Gguer
Gguer
 
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Consejos para menu (por consola) y orientado a objetos.

Pues yo no tomaría a un menú estrictamente como un objeto, sólo es el medio que te permite la entrada y salida de datos. las opciones representan el medio para llegar al objeto, no el objeto en sí. Generalmente se crea en el main.
Sí puedes usar el switch para que en cada opción crees una referencia (objeto) de la clase que representa la opción seleccionada.

la clase representa a un objeto, una abstracción de la realidad. Un objeto de una clase es la referencia que se crea de ella para acceder a sus métodos y atributos desde otras clases.

Tus dudas.
1. Pues como te digo, el menú puede quedar dentro del main.
2.

Código :
Ver original
  1. import java.util.*;
  2.  
  3. class Menu
  4. {
  5. public static void main(String[] args)
  6. {
  7. int opciones;
  8. Scanner leer = new Scanner(System.in);
  9. Opcion1 op1=null;
  10. Opcion2 op2=null;
  11. Opcion3 op3=null;
  12.  
  13. System.out.println("Menu por consola");
  14. System.out.println("1.- Opcion1");
  15. System.out.println("2.- Opcion2");
  16. System.out.println("3.- Opcion3");
  17. System.out.println("Comandos: ") //Pretendo que el usuario escriba el numero de  opcion
  18. opciones=leer.nexInt();
  19.  
  20. switch(opciones) {
  21. case 1:
  22. op1=new Opcion1();
  23. op1.ejecutaMetodo();
  24. break;
  25.  
  26. case 2:
  27. op2=new Opcion2();
  28. op2.ejecutaMetodo();
  29. String variable = op1.variableOpcion1;
  30. break;
  31.  
  32. case 3:
  33. op3=new Opcion3();
  34. op3.ejecutaMetodo();
  35. break;
  36. }
  37. }

Creo que si estudias lo que es herencia, sobrecarga y sobrescritura de métodos, encapsulación, poliformismo, podrá quedarte más claro lo que es estye paradigma de programación.

Espero haber aclarado un poco tu panorama.
Saldudos

Última edición por Gguer; 24/05/2009 a las 00:59