Creación de Menú de Opciones para Doctores en Java

Clase 33 de 38Curso de Java SE Orientado a Objetos

Resumen

¿Cómo estructuramos el menú del doctor en Java?

El desarrollo en Java puede llevarte a crear aplicaciones robustas y escalables. En la programación orientada a objetos, la modulación y reutilización de código son fundamentales para mantener un proyecto eficiente y fácil de gestionar. Aquí exploraremos cómo modularizar y estructurar un menú para el sistema de gestión de un médico, facilitando la administración de sus citas.

¿Cómo creamos una clase para el menú del doctor?

La creación de clases específicas para distintos módulos de una aplicación ayuda a segmentar responsabilidades y mejorar la legibilidad del código. Hacemos lo siguiente:

  1. Crear una clase para el menú del doctor:
    • En tu proyecto, dentro de la carpeta adecuada, crea una nueva clase llamada UIADoctorMenu.
public class UIADoctorMenu {
    public void showDoctorMenu() {
        // Lógica para mostrar el menú del doctor
        System.out.println("Welcome Dr. " + Doctor.name);
        // Opciones del menú
    }
}
  1. Incorporar lógica de opciones:
    • Implementa el método showDoctorMenu, que se encargará de desplegar las opciones disponibles para el doctor.
public void showDoctorMenu() {
    System.out.println("1. Add Available Appointment");
    System.out.println("2. My Scheduled Appointments");
    System.out.println("0. Logout");
    // Solicitar respuesta del usuario
}

¿Cómo manejamos la interacción del usuario?

Para interactuar con el usuario y recibir su selección, utilizamos la clase Scanner para obtener las entradas del usuario y procesarlas según sus respuestas.

Scanner scanner = new Scanner(System.in);
int response = Integer.parseInt(scanner.nextLine());

switch (response) {
    case 1:
        // Lógica para añadir una nueva cita disponible
        break;
    case 2:
        // Lógica para mostrar citas agendadas
        break;
    case 0:
        // Lógica para cerrar sesión
        break;
    default:
        System.out.println("Please select a valid option.");
}

¿Cómo agregar una función para citas disponibles?

El método para gestionar las citas disponibles del doctor es clave. Debe dejar claro el flujo de trabajo y cómo el doctor puede establecer su disponibilidad.

  1. Crear un método privado detallado:
    • Este método manejará exclusivamente la lógica de agregar disponiblidad para citas. Es importante que los nombres de los métodos sean descriptivos.
private void addAvailableAppointment() {
    System.out.println("::Add available appointment");
    System.out.println("Select a Month:");
    // Mostrar meses disponibles
    String[] months = {"January", "February", "March"};
    for (int i = 0; i < months.length; i++) {
        System.out.println((i + 1) + ". " + months[i]);
    }
    int monthSelected = Integer.parseInt(scanner.nextLine());

    // Mostrar confirmación
    if (monthSelected > 0 && monthSelected <= months.length) {
        System.out.println("You've selected: " + months[monthSelected - 1]);
    }
}

¿Cómo gestionamos entradas y salidas de usuario?

Interactuar eficazmente con el usuario requiere una comunicación clara. Asegúrate de confirmar acciones y guiar al usuario durante el proceso:

  • Solicitar confirmación: Una vez que el usuario tome una decisión, pídele que confirme antes de proceder.
System.out.println("Enter the date [dd/MM/yyyy]: ");
String date = scanner.nextLine();
System.out.println("You entered: " + date + " Is this correct? Yes(1)/No(2)");
int confirmation = Integer.parseInt(scanner.nextLine());
if (confirmation == 1) {
    // Almacenar la fecha
} else {
    // Repetir proceso
}

¿Por qué evitar abreviaturas?

Evitar abreviaturas mejora la claridad y comprensión del código. Un buen nombre de método/descripción del código puede ser largo, siempre que sea claro y contextual.

  • Los nombres deben ser expresivos y autodescriptivos.
  • Abreviar puede complicar la comprensión tanto para otros programadores como para el propio autor con el tiempo.
  • Un código claro y comprensible es más valioso que uno breve y confuso.

La programación orientada a objetos en Java permite estructurar un proyecto de manera que el código sea mantenible, escalable y fácil de entender. Modularizando por funciones específicas como el menú de un doctor, ordenamos el proyecto y aseguramos una interacción eficiente con el usuario. Continúa expandiendo tus conocimientos para explorar los beneficios completos de Java y el desarrollo de software.