Class ClaseGrupal
java.lang.Object
model.clases.ClaseGrupal
- Direct Known Subclasses:
ClaseCrossfit, ClasePilates, ClaseSpinning, ClaseYoga
Clase abstracta que representa una clase grupal del gimnasio.
Contiene los atributos y comportamientos comunes a todos los tipos de clases
(Yoga, Spinning, Crossfit, Pilates). Gestiona horarios, cupos, inscripciones
y lista de miembros inscritos.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intCapacidad maxima de miembros por clase (por defecto 20).protected intDuracion de la clase en minutos (por defecto 60).protected LocalDateTimeFecha y hora de inicio de la clase.protected StringIdentificador unico de la clase.protected intCantidad actual de miembros inscritos.protected StringNombre del instructor asignado a la clase.Lista de identificadores de miembros inscritos.protected StringNombre de la clase.protected StringUbicacion del salon donde se dicta la clase. -
Constructor Summary
ConstructorsConstructorDescriptionClaseGrupal(String idClase, String nombreClase, LocalDateTime horarioInicio) Constructor para crear una nueva clase grupal. -
Method Summary
Modifier and TypeMethodDescriptionCalcula la hora de finalizacion de la clase.voidCancelarInscripcion(String idMiembro) Cancela la inscripcion de un miembro en la clase.intintintabstract StringObtiene el tipo de clase como texto.booleanHayCupo()Verifica si hay cupo disponible en la clase.booleanInscribirMiembro(String idMiembro) Inscribe un miembro en la clase.voidsetCupoMaximo(int cupoMaximo) voidsetDuracionMinutos(int duracionMinutos) voidsetHorarioInicio(LocalDateTime horarioInicio) voidsetIdClase(String idClase) voidsetInscritosActuales(int inscritosActuales) voidsetInstructorAsignado(String instructorAsignado) voidsetNombreClase(String nombreClase) voidsetSalonUbicacion(String salonUbicacion) toString()Devuelve una representacion textual de la clase.
-
Field Details
-
idClase
Identificador unico de la clase. -
nombreClase
Nombre de la clase. -
horarioInicio
Fecha y hora de inicio de la clase. -
duracionMinutos
protected int duracionMinutosDuracion de la clase en minutos (por defecto 60). -
cupoMaximo
protected int cupoMaximoCapacidad maxima de miembros por clase (por defecto 20). -
inscritosActuales
protected int inscritosActualesCantidad actual de miembros inscritos. -
instructorAsignado
Nombre del instructor asignado a la clase. -
salonUbicacion
Ubicacion del salon donde se dicta la clase. -
miembrosInscritos
-
-
Constructor Details
-
ClaseGrupal
Constructor para crear una nueva clase grupal. Inicializa la duracion en 60 minutos, cupo maximo en 20, inscritosActuales en 0 y lista de inscritos vacia.- Parameters:
idClase- Identificador unico de la clasenombreClase- Nombre de la clasehorarioInicio- Fecha y hora de inicio de la clase
-
-
Method Details
-
CalcularHoraFin
Calcula la hora de finalizacion de la clase. Suma la duracion en minutos a la hora de inicio.- Returns:
- Fecha y hora de finalizacion
-
HayCupo
public boolean HayCupo()Verifica si hay cupo disponible en la clase.- Returns:
- true si inscritosActuales es menor a cupoMaximo
-
InscribirMiembro
Inscribe un miembro en la clase. Solo si hay cupo disponible y el miembro no esta ya inscrito.- Parameters:
idMiembro- Identificador del miembro a inscribir- Returns:
- true si la inscripcion fue exitosa, false en caso contrario
-
CancelarInscripcion
Cancela la inscripcion de un miembro en la clase.- Parameters:
idMiembro- Identificador del miembro a cancelar
-
getTipoClase
Obtiene el tipo de clase como texto.- Returns:
- Tipo de clase (YOGA, SPINNING, CROSSFIT, PILATES)
-
getIdClase
- Returns:
- Identificador unico de la clase
-
setIdClase
- Parameters:
idClase- Nuevo identificador de la clase
-
getNombreClase
- Returns:
- Nombre de la clase
-
setNombreClase
- Parameters:
nombreClase- Nuevo nombre de la clase
-
getHorarioInicio
- Returns:
- Fecha y hora de inicio
-
setHorarioInicio
- Parameters:
horarioInicio- Nueva fecha y hora de inicio
-
getDuracionMinutos
public int getDuracionMinutos()- Returns:
- Duracion en minutos
-
setDuracionMinutos
public void setDuracionMinutos(int duracionMinutos) - Parameters:
duracionMinutos- Nueva duracion en minutos
-
getCupoMaximo
public int getCupoMaximo()- Returns:
- Cupo maximo de la clase
-
setCupoMaximo
public void setCupoMaximo(int cupoMaximo) - Parameters:
cupoMaximo- Nuevo cupo maximo
-
getInscritosActuales
public int getInscritosActuales()- Returns:
- Cantidad actual de inscritos
-
setInscritosActuales
public void setInscritosActuales(int inscritosActuales) - Parameters:
inscritosActuales- Nueva cantidad de inscritos
-
getInstructorAsignado
- Returns:
- Nombre del instructor asignado
-
setInstructorAsignado
- Parameters:
instructorAsignado- Nuevo instructor asignado
-
getSalonUbicacion
- Returns:
- Ubicacion del salon
-
setSalonUbicacion
- Parameters:
salonUbicacion- Nueva ubicacion del salon
-
getMiembrosInscritos
-
toString
-