Class Asiento
java.lang.Object
model.infraestructura.Asiento
- Direct Known Subclasses:
AsientoNormal, AsientoPremium, AsientoVIP
Clase abstracta que representa un asiento en una sala de cine.
Contiene los atributos y comportamientos comunes a todos los tipos de asientos
(Normal, VIP, Premium). Gestiona el estado del asiento (disponible, ocupado, reservado)
y sus caracteristicas fisicas como fila, numero, coordenadas, reposabrazos y espacio para piernas.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanIndica si el asiento tiene acceso para discapacitados.protected intCoordenada X en el mapa de la sala.protected intCoordenada Y en el mapa de la sala.protected intEspacio en centimetros para las piernas.protected StringEstado actual del asiento (DISPONIBLE, OCUPADO, RESERVADO).protected StringLetra de la fila del asiento (A, B, C, ...).protected StringIdentificador unico del asiento.protected intNumero del asiento dentro de la fila.protected BigDecimalPrecio base del asiento sin extras.protected booleanIndica si el asiento tiene reposabrazos.protected StringTipo de asiento (NORMAL, VIP, PREMIUM).protected StringUbicacion de la sala a la que pertenece el asiento. -
Constructor Summary
ConstructorsConstructorDescriptionAsiento(String idAsiento, String fila, int numero, BigDecimal precioBase) Constructor para crear un nuevo asiento. -
Method Summary
Modifier and TypeMethodDescriptionabstract BigDecimalCalcula el precio final del asiento aplicando los recargos o descuentos segun el tipo de asiento.booleanVerifica si el asiento esta disponible para ser ocupado o reservado.intintintgetFila()intbooleanbooleanvoidliberar()Cambia el estado del asiento a DISPONIBLE.voidocupar()Cambia el estado del asiento a OCUPADO.voidreservar()Cambia el estado del asiento a RESERVADO.voidsetAccesibilidadDiscapacitados(boolean accesibilidadDiscapacitados) voidsetCoordenadaX(int coordenadaX) voidsetCoordenadaY(int coordenadaY) voidsetEspacioPiernas(int espacioPiernas) voidsetEstadoAsiento(String estadoAsiento) voidvoidsetIdAsiento(String idAsiento) voidsetNumero(int numero) voidsetPrecioBase(BigDecimal precioBase) voidsetTieneReposabrazos(boolean tieneReposabrazos) voidsetTipoAsiento(String tipoAsiento) voidsetUbicacionSala(String ubicacionSala) toString()Devuelve una representacion textual del asiento.
-
Field Details
-
idAsiento
Identificador unico del asiento. -
fila
Letra de la fila del asiento (A, B, C, ...). -
numero
protected int numeroNumero del asiento dentro de la fila. -
coordenadaX
protected int coordenadaXCoordenada X en el mapa de la sala. -
coordenadaY
protected int coordenadaYCoordenada Y en el mapa de la sala. -
estadoAsiento
Estado actual del asiento (DISPONIBLE, OCUPADO, RESERVADO). -
precioBase
Precio base del asiento sin extras. -
tipoAsiento
Tipo de asiento (NORMAL, VIP, PREMIUM). -
ubicacionSala
Ubicacion de la sala a la que pertenece el asiento. -
accesibilidadDiscapacitados
protected boolean accesibilidadDiscapacitadosIndica si el asiento tiene acceso para discapacitados. -
tieneReposabrazos
protected boolean tieneReposabrazosIndica si el asiento tiene reposabrazos. -
espacioPiernas
protected int espacioPiernasEspacio en centimetros para las piernas.
-
-
Constructor Details
-
Asiento
Constructor para crear un nuevo asiento. Inicializa el asiento como DISPONIBLE, con reposabrazos true y espacio para piernas de 80 cm.- Parameters:
idAsiento- Identificador unico del asientofila- Letra de la fila del asientonumero- Numero del asiento dentro de la filaprecioBase- Precio base del asiento sin extras
-
-
Method Details
-
calcularPrecioFinal
Calcula el precio final del asiento aplicando los recargos o descuentos segun el tipo de asiento.- Returns:
- Precio final del asiento
-
estaDisponible
public boolean estaDisponible()Verifica si el asiento esta disponible para ser ocupado o reservado.- Returns:
- true si el estado es DISPONIBLE, false en caso contrario
-
ocupar
public void ocupar()Cambia el estado del asiento a OCUPADO. Utilizado cuando un cliente ocupa el asiento en una funcion. -
reservar
public void reservar()Cambia el estado del asiento a RESERVADO. Utilizado cuando un cliente reserva el asiento temporalmente. -
liberar
public void liberar()Cambia el estado del asiento a DISPONIBLE. Utilizado cuando se cancela una reserva o se libera el asiento. -
getIdAsiento
- Returns:
- Identificador unico del asiento
-
setIdAsiento
- Parameters:
idAsiento- Nuevo identificador del asiento
-
getFila
- Returns:
- Letra de la fila del asiento
-
setFila
- Parameters:
fila- Nueva letra de fila
-
getNumero
public int getNumero()- Returns:
- Numero del asiento
-
setNumero
public void setNumero(int numero) - Parameters:
numero- Nuevo numero de asiento
-
getCoordenadaX
public int getCoordenadaX()- Returns:
- Coordenada X del asiento
-
setCoordenadaX
public void setCoordenadaX(int coordenadaX) - Parameters:
coordenadaX- Nueva coordenada X
-
getCoordenadaY
public int getCoordenadaY()- Returns:
- Coordenada Y del asiento
-
setCoordenadaY
public void setCoordenadaY(int coordenadaY) - Parameters:
coordenadaY- Nueva coordenada Y
-
getEstadoAsiento
- Returns:
- Estado actual del asiento (DISPONIBLE, OCUPADO, RESERVADO)
-
setEstadoAsiento
- Parameters:
estadoAsiento- Nuevo estado del asiento
-
getPrecioBase
- Returns:
- Precio base del asiento
-
setPrecioBase
- Parameters:
precioBase- Nuevo precio base
-
getTipoAsiento
- Returns:
- Tipo de asiento (NORMAL, VIP, PREMIUM)
-
setTipoAsiento
- Parameters:
tipoAsiento- Nuevo tipo de asiento
-
getUbicacionSala
- Returns:
- Ubicacion de la sala
-
setUbicacionSala
- Parameters:
ubicacionSala- Nueva ubicacion de sala
-
isAccesibilidadDiscapacitados
public boolean isAccesibilidadDiscapacitados()- Returns:
- true si tiene accesibilidad para discapacitados
-
setAccesibilidadDiscapacitados
public void setAccesibilidadDiscapacitados(boolean accesibilidadDiscapacitados) - Parameters:
accesibilidadDiscapacitados- Nueva condicion de accesibilidad
-
isTieneReposabrazos
public boolean isTieneReposabrazos()- Returns:
- true si tiene reposabrazos
-
setTieneReposabrazos
public void setTieneReposabrazos(boolean tieneReposabrazos) - Parameters:
tieneReposabrazos- Nueva condicion de reposabrazos
-
getEspacioPiernas
public int getEspacioPiernas()- Returns:
- Espacio en centimetros para piernas
-
setEspacioPiernas
public void setEspacioPiernas(int espacioPiernas) - Parameters:
espacioPiernas- Nuevo espacio para piernas
-
toString
-