En este ejercicio vamos a solucionar la siguiente petición:
Una agencia de viajes ofrece varios paquetes de tres días para sus clientes. Cada paquete debe seguir los mismos pasos para la realización del viaje, pero con distinta funcionalidad dependiendo del paquete ofertado.
Creamos la clase local LCL_VIAJE que implementa el método final REALIZAR_VIAJE.
En la implementación del método se hacen llamadas a cinco métodos abstractos (definidos en la misma clase) que hacen referencia a los pasos del viaje.
Los métodos son:
- TRANSPORTE_IDA
- DIA_UNO
- DIA_DOS
- DIA_TRES
- TRANSPORTE_VUELTA
A continuación, creamos dos clases locales LCL_PAQUETE_A y LCL_PAQUETE_B que heredan de la clase LCL_VIAJE.
Implementamos las distintas funcionalidades de cada método en un programa ejecutable utilizando el patrón de diseño Template Method.