Las clases principales que tengo pensado usar para mi proyecto son las siguientes:
-main: una clase principal, en donde se hagan las llamadas y la creación de los objetos de otras clases.
-Cliente() o Huesped(): esta clase tiene los atributos, nombre, número de referencia o algún código para identificar al cliente, habitación reservada, tiempo reservado, precio de su habitación, etc. Tendrá métodos para hacer mas que nada consultas sobre este tipo de cosas,SOLO sobre si mismo, un cliente no tiene deberá tener acceso a los datos personales de los demás clientes, solo los administradores tendrán tal poder, además de que tendrá la opción de realizar una reservación o solicitar una extensión de el tiempo de estadía en el hotel.
-Administrador() o Empleado(): como su nombre lo dice su labor será la de administrar el sistema de hotelería; sus atributos serían numEmpleado y password, por el momento solo estos dos pero se irán agregando más en la implementación. Los métodos que tengo pensados serán principalmente para administrar el sistema, cosas como: habilitar habitaciones desocupadas, autorizar extensiones de tiempo, modificar precios de habitaciones, tendrá acceso a la base de datos e información de los clientes, exceptuando tarjetas de crédito si llego a ocupar algo parecido(claro, todo sería virtual en ningún momento se usarían tarjetas de crédito reales).
-Habitacion(): esta clase seria mas que nada para administrar lo que viene siendo la disponibilidad de las habitaciones, y su precio además de ligar Habitaciones a números de referencia, osease clientes. Los métodos que tendría serian, checarDisponibilidad, habilitarHabitacion, deshabilitarHabitacion, cambiarPrecio, checarPrecio, entre otras que serían agregadas mas adelante.
-BaseDeDatos(): clase que contendrá el acceso principal a la base de datos, tengo pensado que sea un archivo .dat o algo parecido, y para esto usar el manejo de archivos en java. Tendría métodos para agregarClientes, eliminarClientes,buscarClientes, modificarFecha, etc. Esta clase por razones obvias será únicamente accesible por el administrador o empleado del hotel, esto para evitar que los clientes realicen modificaciones a la base de datos.
Por el momento esto es lo que tengo pensado pero ya avanzando la programación de mi proyecto se irán agregando más clases a el mismo.
Saludos.
Ok. Esta definición inicial me parece bien, aunque quisiera comentar rápidamente algunos detalles:
ResponderEliminar1.- Hay que ver bien cómo se manejaría lo de la disponibilidad de la habitación.
2.- Por lo general, la definición de las clases es en singular. Si tienes muchas habitaciones, por ejemplo, puedes manejarlas con un arreglo de objetos o con un vector de Java.
3.- Por lo mismo, tal vez haya que modificar los atributos de precio y disponibilidad (entiendo que son arreglos porque quieres manejar múltiples habitaciones...¿?)
Calificación: 5/5
1-Lo haría con booleanos para saber si hay huéspedes o no en la habitación. Cuando se agregue un cliente a una cierta habitación esta pasaría de 0 a 1(desocupada a ocupada) y cuando se elimine el cliente sería alrevés.
ResponderEliminar2-3. Entendido, lo del plural fue solo por convención lo modificaré.