Class Socio

java.lang.Object
model.Socio
Direct Known Subclasses:
SocioEstandar, SocioInfantil, SocioPremium

public abstract class Socio extends Object
Clase abstracta que representa un socio de la biblioteca. Contiene los atributos y comportamientos comunes a todos los tipos de socios (Estandar, Premium, Infantil).
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Field Details

    • idSocio

      protected int idSocio
      Identificador unico del socio.
    • nombre

      protected String nombre
      Nombre del socio.
    • telefono

      protected String telefono
      Telefono de contacto.
    • email

      protected String email
      Email de contacto.
    • fechaRegistro

      protected LocalDateTime fechaRegistro
      Fecha de registro del socio.
    • prestamos

      protected List<Prestamo> prestamos
      Lista de prestamos realizados por el socio.
  • Constructor Details

    • Socio

      public Socio(String nombre, String telefono, String email)
      Constructor para crear un socio.
      Parameters:
      nombre - Nombre del socio
      telefono - Telefono de contacto
      email - Email de contacto
  • Method Details

    • agregarPrestamo

      public void agregarPrestamo(Prestamo prestamo)
      Agrega un prestamo al historial del socio.
      Parameters:
      prestamo - Prestamo a agregar
    • getTipoSocio

      public abstract String getTipoSocio()
      Obtiene el tipo de socio. Metodo abstracto implementado por las subclases.
      Returns:
      Tipo de socio
    • getMaximoLibros

      public abstract int getMaximoLibros()
      Obtiene el maximo de libros que puede prestar. Metodo abstracto implementado por las subclases.
      Returns:
      Maximo de libros
    • getDiasPrestamo

      public abstract int getDiasPrestamo()
      Obtiene los dias maximos de prestamo. Metodo abstracto implementado por las subclases.
      Returns:
      Dias de prestamo
    • getMultaPorDia

      public abstract double getMultaPorDia()
      Obtiene la multa por dia de retraso. Metodo abstracto implementado por las subclases.
      Returns:
      Multa por dia
    • getIdSocio

      public int getIdSocio()
      Returns:
      Identificador del socio
    • getNombre

      public String getNombre()
      Returns:
      Nombre del socio
    • setNombre

      public void setNombre(String nombre)
      Parameters:
      nombre - Nuevo nombre
    • getTelefono

      public String getTelefono()
      Returns:
      Telefono de contacto
    • setTelefono

      public void setTelefono(String telefono)
      Parameters:
      telefono - Nuevo telefono
    • getEmail

      public String getEmail()
      Returns:
      Email de contacto
    • setEmail

      public void setEmail(String email)
      Parameters:
      email - Nuevo email
    • getFechaRegistro

      public LocalDateTime getFechaRegistro()
      Returns:
      Fecha de registro
    • getPrestamos

      public List<Prestamo> getPrestamos()
      Returns:
      Lista de prestamos
    • getPrestamosActivos

      public int getPrestamosActivos()
      Obtiene la cantidad de prestamos activos (no devueltos).
      Returns:
      Numero de prestamos activos
    • toString

      public String toString()
      Devuelve una representacion textual del socio.
      Overrides:
      toString in class Object
      Returns:
      Cadena con informacion