Class AsientoPremium
java.lang.Object
model.infraestructura.Asiento
model.infraestructura.AsientoPremium
Clase que representa un asiento Premium en la sala de cine.
Hereda de Asiento y ofrece la maxima experiencia con butaca reclinable,
calefaccion, la mayor distancia para piernas (150 cm) y ajuste de precio
segun la distancia a la pantalla.
El precio se calcula con un multiplicador base de 4.0x sobre el precio base,
mas costo adicional por calefaccion ($2,000) y ajuste si esta muy cerca de la pantalla.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
Fields inherited from class Asiento
accesibilidadDiscapacitados, coordenadaX, coordenadaY, espacioPiernas, estadoAsiento, fila, idAsiento, numero, precioBase, tieneReposabrazos, tipoAsiento, ubicacionSala -
Constructor Summary
ConstructorsConstructorDescriptionAsientoPremium(String idAsiento, String fila, int numero, BigDecimal precioBase) Constructor para crear un asiento Premium. -
Method Summary
Modifier and TypeMethodDescriptionCalcula el precio final del asiento Premium.booleanbooleanvoidsetButacaReclinable(boolean butacaReclinable) voidsetCalefaccion(boolean calefaccion) voidsetDistanciaPantalla(BigDecimal distanciaPantalla) Methods inherited from class Asiento
estaDisponible, getCoordenadaX, getCoordenadaY, getEspacioPiernas, getEstadoAsiento, getFila, getIdAsiento, getNumero, getPrecioBase, getTipoAsiento, getUbicacionSala, isAccesibilidadDiscapacitados, isTieneReposabrazos, liberar, ocupar, reservar, setAccesibilidadDiscapacitados, setCoordenadaX, setCoordenadaY, setEspacioPiernas, setEstadoAsiento, setFila, setIdAsiento, setNumero, setPrecioBase, setTieneReposabrazos, setTipoAsiento, setUbicacionSala, toString
-
Constructor Details
-
AsientoPremium
Constructor para crear un asiento Premium. El tipo de asiento se establece automaticamente como "PREMIUM". Por defecto incluye butaca reclinable, calefaccion, distancia a pantalla de 5.5 metros y espacio para piernas de 150 cm (maximo).- 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 Premium. Formula: (precioBase x 4.0) + ($2,000 si tiene calefaccion) Si la distancia a la pantalla es menor a 3 metros, se aplica un recargo del 30%.- Specified by:
calcularPrecioFinalin classAsiento- Returns:
- Precio final del asiento Premium
-
isButacaReclinable
public boolean isButacaReclinable()- Returns:
- true si la butaca es reclinable, false en caso contrario
-
setButacaReclinable
public void setButacaReclinable(boolean butacaReclinable) - Parameters:
butacaReclinable- Nuevo estado de butaca reclinable
-
isCalefaccion
public boolean isCalefaccion()- Returns:
- true si tiene calefaccion, false en caso contrario
-
setCalefaccion
public void setCalefaccion(boolean calefaccion) - Parameters:
calefaccion- Nuevo estado de calefaccion
-
getDistanciaPantalla
- Returns:
- Distancia en metros a la pantalla
-
setDistanciaPantalla
- Parameters:
distanciaPantalla- Nueva distancia a la pantalla
-