Class CuentaTerceraEdad
java.lang.Object
model.cuentas.CuentaBancaria
model.cuentas.CuentaTerceraEdad
Clase que representa una cuenta bancaria para adultos mayores (tercera edad).
Hereda de CuentaBancaria y ofrece beneficios especiales como tasa preferencial
del 2.5% mensual, 50% de descuento en comisiones y sin costo de mantenimiento.
Requiere que el titular tenga 60 años o mas.
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
Fields inherited from class CuentaBancaria
contrasenaHash, cuentasFavoritas, cupoDiarioRetiro, cupoDiarioTransferencia, documentoTitular, estaBloqueada, fechaApertura, fechaUltimoAcceso, intentosFallidos, montoRetiradoHoy, montoTransferidoHoy, nombreTitular, numeroCuenta, saldoDisponible, tasaInteresMensual -
Constructor Summary
ConstructorsConstructorDescriptionCuentaTerceraEdad(String numeroCuenta, String nombreTitular, String documentoTitular, LocalDate fechaNacimiento) Constructor para crear una nueva cuenta de tercera edad. -
Method Summary
Modifier and TypeMethodDescriptionaplicarDescuentoComision(BigDecimal comisionOriginal) Aplica el descuento de comisiones a una comision original.intCalcula la edad actual del titular basada en su fecha de nacimiento.Calcula los intereses generados por la cuenta de tercera edad.voidsetBeneficioExclusivo(String beneficioExclusivo) voidsetDescuentoComisiones(BigDecimal descuentoComisiones) voidsetFechaNacimientoTitular(LocalDate fechaNacimientoTitular) booleanValida si la cuenta de tercera edad cumple con sus condiciones especiales.Methods inherited from class CuentaBancaria
agregarFavorita, depositar, getContrasenaHash, getCuentasFavoritas, getCupoDiarioRetiro, getCupoDiarioTransferencia, getDocumentoTitular, getFechaApertura, getFechaUltimoAcceso, getIntentosFallidos, getMontoRetiradoHoy, getMontoTransferidoHoy, getNombreTitular, getNumeroCuenta, getSaldoDisponible, getTasaInteresMensual, isEstaBloqueada, puedeRetirar, puedeTransferir, registrarAcceso, registrarIntentoFallido, retirar, setContrasenaHash, setCuentasFavoritas, setCupoDiarioRetiro, setCupoDiarioTransferencia, setDocumentoTitular, setEstaBloqueada, setFechaApertura, setFechaUltimoAcceso, setIntentosFallidos, setMontoRetiradoHoy, setMontoTransferidoHoy, setNombreTitular, setNumeroCuenta, setSaldoDisponible, setTasaInteresMensual, toString, transferir, validarContrasena
-
Constructor Details
-
CuentaTerceraEdad
public CuentaTerceraEdad(String numeroCuenta, String nombreTitular, String documentoTitular, LocalDate fechaNacimiento) Constructor para crear una nueva cuenta de tercera edad. Inicializa la cuenta con fecha de nacimiento del titular, beneficio exclusivo "Sin costo de mantenimiento", descuento del 50% en comisiones y tasa de interes del 2.5% mensual.- Parameters:
numeroCuenta- Numero unico identificador de la cuentanombreTitular- Nombre completo del titulardocumentoTitular- Documento de identidad del titularfechaNacimiento- Fecha de nacimiento del titular
-
-
Method Details
-
calcularIntereses
Calcula los intereses generados por la cuenta de tercera edad. Beneficio: tasa preferencial del 2.5% mensual (mayor que cuentas regulares).- Specified by:
calcularInteresesin classCuentaBancaria- Returns:
- Intereses calculados como saldo x 0.025
-
validarCondicionesEspeciales
public boolean validarCondicionesEspeciales()Valida si la cuenta de tercera edad cumple con sus condiciones especiales. La condicion especial es que el titular tenga 60 años o mas.- Specified by:
validarCondicionesEspecialesin classCuentaBancaria- Returns:
- true si el titular tiene 60 años o mas, false en caso contrario
-
calcularEdad
public int calcularEdad()Calcula la edad actual del titular basada en su fecha de nacimiento.- Returns:
- Edad en años cumplidos
-
aplicarDescuentoComision
Aplica el descuento de comisiones a una comision original. El descuento es del 50% (factor 0.5).- Parameters:
comisionOriginal- Monto original de la comision- Returns:
- Monto de la comision con el descuento aplicado
-
getFechaNacimientoTitular
- Returns:
- Fecha de nacimiento del titular
-
setFechaNacimientoTitular
- Parameters:
fechaNacimientoTitular- Nueva fecha de nacimiento del titular
-
getBeneficioExclusivo
- Returns:
- Descripcion del beneficio exclusivo
-
setBeneficioExclusivo
- Parameters:
beneficioExclusivo- Nueva descripcion del beneficio exclusivo
-
getDescuentoComisiones
- Returns:
- Porcentaje de descuento en comisiones (0.5 = 50%)
-
setDescuentoComisiones
- Parameters:
descuentoComisiones- Nuevo porcentaje de descuento
-