sala - PowerSystem2024/CapybaraFilms_ProyectoTercerSemestre GitHub Wiki
La entidad Sala
representa las salas de cine del sistema, gestionando la asociación entre salas físicas y las películas que se proyectan en ellas.
- Gestionar identificadores únicos de salas de cine.
- Asociar salas con películas específicas para proyecciones.
- Mantener una lista de butacas disponibles en cada sala.
- Proporcionar métodos de acceso controlado a los atributos.
Atributo | Tipo | Propósito | Valor por Defecto |
---|---|---|---|
id_sala |
int | Identificador único de la sala | Requerido |
id_pelicula |
int | ID de película proyectada | None (opcional) |
butacas |
list | Lista de butacas en la sala | Lista vacía |
sala = Sala(1, 101)
id_sala = sala.get_id_sala # Acceso como propiedad
print(f"Sala ID: {id_sala}")
Fuente: Sala.py:15-18
# Ejemplo de uso
sala.set_id_sala(2) # Cambiar ID de sala
sala.set_id_pelicula(205) # Asignar película
Fuente: Sala.py:20-31
# Método especial que define cómo se representará un objeto Sala cuando se lo convierta a cadena (por ejemplo, con print)
def __str__(self):
return f"Sala ID: {self.id_sala}, Película ID: {self.id_pelicula}"
# Devuelve un string con los IDs de la sala y la película para mostrar información resumida
Fuente: Sala.py:33-36
La entidad Sala
implementa un diseño simple sin validaciones complejas:
- Utiliza decoradores
@property
para acceso controlado. - Delega validaciones de negocio a la capa de servicios.
- Proporciona representación textual clara para debugging.
graph TD
SalaDAO --> SalaNode
CineServices --> SalaNode
Reserva --> SalaNode
subgraph SalaSubgraph
SalaNode["Sala
- id_sala: int
- id_pelicula: int
- butacas: list"]
end
SalaNode --> Pelicula["Pelicula
- id_pelicula: int"]
SalaNode --> Butaca["Butaca
- id_butaca: int"]
- Con Pelicula: Asociación uno-a-uno para proyecciones.
- Con Butaca: Contiene múltiples butacas (relación uno-a-muchos).
- Con SalaDAO: Persistencia y consultas de salas.
- Con CineServices: Selección de salas en el flujo de reserva.
- Con Reserva: Una reserva se asocia a una sala específica.