Class CuentaTerceraEdad

java.lang.Object
model.cuentas.CuentaBancaria
model.cuentas.CuentaTerceraEdad

public class CuentaTerceraEdad extends CuentaBancaria
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:
  • 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 cuenta
      nombreTitular - Nombre completo del titular
      documentoTitular - Documento de identidad del titular
      fechaNacimiento - Fecha de nacimiento del titular
  • Method Details

    • calcularIntereses

      public BigDecimal calcularIntereses()
      Calcula los intereses generados por la cuenta de tercera edad. Beneficio: tasa preferencial del 2.5% mensual (mayor que cuentas regulares).
      Specified by:
      calcularIntereses in class CuentaBancaria
      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:
      validarCondicionesEspeciales in class CuentaBancaria
      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

      public BigDecimal aplicarDescuentoComision(BigDecimal comisionOriginal)
      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

      public LocalDate getFechaNacimientoTitular()
      Returns:
      Fecha de nacimiento del titular
    • setFechaNacimientoTitular

      public void setFechaNacimientoTitular(LocalDate fechaNacimientoTitular)
      Parameters:
      fechaNacimientoTitular - Nueva fecha de nacimiento del titular
    • getBeneficioExclusivo

      public String getBeneficioExclusivo()
      Returns:
      Descripcion del beneficio exclusivo
    • setBeneficioExclusivo

      public void setBeneficioExclusivo(String beneficioExclusivo)
      Parameters:
      beneficioExclusivo - Nueva descripcion del beneficio exclusivo
    • getDescuentoComisiones

      public BigDecimal getDescuentoComisiones()
      Returns:
      Porcentaje de descuento en comisiones (0.5 = 50%)
    • setDescuentoComisiones

      public void setDescuentoComisiones(BigDecimal descuentoComisiones)
      Parameters:
      descuentoComisiones - Nuevo porcentaje de descuento