Class Membresia
java.lang.Object
model.miembros.Membresia
- Direct Known Subclasses:
MembresiaAnual, MembresiaMensual, MembresiaTrimestral, MembresiaVitalicia
Clase abstracta que representa una membresia del gimnasio.
Contiene los atributos y comportamientos comunes a todos los tipos de membresia
(Mensual, Trimestral, Anual, Vitalicia). Gestiona fechas de inicio y fin,
validacion de acceso, registro de accesos y calculo de dias restantes.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intCantidad de accesos incluidos en la membresia (0 = ilimitados).protected intCantidad de accesos ya realizados.protected intCantidad de dias restantes de vigencia.protected LocalDateTimeFecha y hora de finalizacion de la membresia.protected LocalDateTimeFecha y hora de inicio de la membresia.protected StringIdentificador unico de la membresia.protected StringMetodo de pago utilizado (Efectivo, Tarjeta, Transferencia).protected BigDecimalPrecio pagado por la membresia. -
Constructor Summary
ConstructorsConstructorDescriptionMembresia(String idMembresia, LocalDateTime fechaInicio, int diasVigencia) Constructor para crear una nueva membresia. -
Method Summary
Modifier and TypeMethodDescriptionintCalcula los dias restantes de vigencia de la membresia.intintintabstract StringObtiene el tipo de membresia como texto.voidRegistra un acceso del miembro al gimnasio.voidsetAccesosIncluidos(int accesosIncluidos) voidsetAccesosRealizados(int accesosRealizados) voidsetFechaFin(LocalDateTime fechaFin) voidsetFechaInicio(LocalDateTime fechaInicio) voidsetIdMembresia(String idMembresia) voidsetMetodoPago(String metodoPago) voidsetPrecioPagado(BigDecimal precioPagado) toString()Devuelve una representacion textual de la membresia.booleanValida si el miembro puede acceder al gimnasio con esta membresia.
-
Field Details
-
idMembresia
Identificador unico de la membresia. -
fechaInicio
Fecha y hora de inicio de la membresia. -
fechaFin
Fecha y hora de finalizacion de la membresia. -
precioPagado
Precio pagado por la membresia. -
metodoPago
Metodo de pago utilizado (Efectivo, Tarjeta, Transferencia). -
diasRestantes
protected int diasRestantesCantidad de dias restantes de vigencia. -
accesosIncluidos
protected int accesosIncluidosCantidad de accesos incluidos en la membresia (0 = ilimitados). -
accesosRealizados
protected int accesosRealizadosCantidad de accesos ya realizados.
-
-
Constructor Details
-
Membresia
Constructor para crear una nueva membresia. Inicializa la fecha de fin sumando los dias de vigencia a la fecha de inicio. Los accesos realizados comienzan en cero.- Parameters:
idMembresia- Identificador unico de la membresiafechaInicio- Fecha y hora de iniciodiasVigencia- Cantidad de dias de vigencia
-
-
Method Details
-
CalcularDiasRestantes
public int CalcularDiasRestantes()Calcula los dias restantes de vigencia de la membresia. Si la fecha actual es posterior a la fecha de fin, retorna 0.- Returns:
- Cantidad de dias restantes
-
ValidarAcceso
public boolean ValidarAcceso()Valida si el miembro puede acceder al gimnasio con esta membresia. Condiciones: - La fecha actual no debe ser posterior a la fecha de fin - Si hay limite de accesos, no deben haberse superado- Returns:
- true si el acceso esta permitido, false en caso contrario
-
RegistrarAcceso
public void RegistrarAcceso()Registra un acceso del miembro al gimnasio. Solo incrementa el contador si el acceso es valido. -
getTipoMembresia
Obtiene el tipo de membresia como texto.- Returns:
- Tipo de membresia (MENSUAL, TRIMESTRAL, ANUAL, VITALICIA)
-
getIdMembresia
- Returns:
- Identificador unico de la membresia
-
setIdMembresia
- Parameters:
idMembresia- Nuevo identificador
-
getFechaInicio
- Returns:
- Fecha de inicio
-
setFechaInicio
- Parameters:
fechaInicio- Nueva fecha de inicio
-
getFechaFin
- Returns:
- Fecha de fin
-
setFechaFin
- Parameters:
fechaFin- Nueva fecha de fin
-
getPrecioPagado
- Returns:
- Precio pagado
-
setPrecioPagado
- Parameters:
precioPagado- Nuevo precio pagado
-
getMetodoPago
- Returns:
- Metodo de pago
-
setMetodoPago
- Parameters:
metodoPago- Nuevo metodo de pago
-
getDiasRestantes
public int getDiasRestantes()- Returns:
- Dias restantes de vigencia
-
getAccesosIncluidos
public int getAccesosIncluidos()- Returns:
- Accesos incluidos (0 = ilimitados)
-
setAccesosIncluidos
public void setAccesosIncluidos(int accesosIncluidos) - Parameters:
accesosIncluidos- Nueva cantidad de accesos incluidos
-
getAccesosRealizados
public int getAccesosRealizados()- Returns:
- Accesos realizados
-
setAccesosRealizados
public void setAccesosRealizados(int accesosRealizados) - Parameters:
accesosRealizados- Nueva cantidad de accesos realizados
-
toString
-