language from codeThu, 28 Nov 2024

Una empresa de estacionamientos busca implementar un Sistema de Gestión de Vehículos (SGV) en Java usando Programación Orientada a Objetos (POO). El SGV gestionará vehículos, espacios y tarifas, permitiendo registrar ingresos/salidas, asignar espacios, calcular costos y generar reportes. Las entidades principales son: Vehículo: Clase base con atributos como placa, marca y hora de entrada; tiene subclases (Automóvil, Motocicleta, Camión) que especifican tamaño y tarifa por hora. EspacioEstacionamiento: Representa espacios físicos con atributos como ID, disponibilidad y tipo (pequeño, mediano, grande). Estacionamiento: Administra espacios y vehículos, calculando tarifas según tiempo y tipo. El sistema aplica encapsulamiento con métodos get/set, agregación entre Vehículo y Espacio, y composición entre Estacionamiento y listas de vehículos/espacios. Usa una interfaz Gestionable para definir métodos clave (registrarIngreso, registrarSalida, asignarEspacio) y una clase abstracta Tarifa para cálculos según el tipo de vehículo. Se implementa polimorfismo para operaciones como cálculo de tarifas. Incluye manejo de excepciones específicas (e.g., EspacioOcupadoException) y validaciones con asserts. El sistema soporta hasta 100 espacios, clasificados por tamaño y compatibilidad con vehículos. Las tarifas mínimas son $10 MXN/h para automóviles, $5 MXN para motocicletas y $20 MXN para camiones. Pruebas incluirán casos como ingresos, salidas, reportes y manejo de errores, garantizando precisión en las operaciones y resultados.

Please keep input under 1000 characters

Questions about programming?Chat with your personal AI assistant