Реализация примера "Бюро путешествий Acme". Запуск программы примера.
С помощью абстрактных классов Reservable (Резервируемый объект, ресурс), Reservation (Резервирование) и Broker (Брокер) можно легко реализовать систему резервирования конкретного ресурса, например гостиничного номера. На рис. 4.2 показана иерархия наследования: класс Hotel (Гостиница) является производным от класса Reservable (Резервируемый объект, ресурс), класс HotelReservation – производным от класса Reservation (Резервирование), класс HotelBroker – производным от класса Broker (Брокер).
В этом разделе мы рассмотрим основные моменты реализации примера.
Рис. 4.2. Иерархия классов для системы резервирования "Бюро путешествий Acme"
Запуск программы примера
Перед тем, как продолжить просмотр кода, неплохо было бы запустить пример. Программа TestBroker.exe представляет собой консольное приложение. Если после приглашения на ввод команды вы наберете "help" в командной строке, то будет выведен следующий список команд:
Enter command, quit to exit H> help The following commands are available: hotels shows all hotels in a city all shows all hotels cities shows all cities add adds a hotel book book a reservation bookings show all bookings register register a customer email change email address show show customers quit exit the program H>
Вот перевод этой выдачи:
Введите команду, quit для выхода Н> помощь Доступны следующие команды: hotels (гостиницы) показывает все гостиницы в городе all (все) показывает все гостиницы cities (города) показывает все города add (добавить) добавляет гостиницу book (заказать) заказывает резервирование bookings (заказы) показывает все заказы register (регистрировать) регистрирует клиента email (электронная почта) изменяет адрес электронной почты show (показать) показывает клиентов quit выход из программы Н>
Поэкспериментируйте с этой программой, пока полностью не изучите ее свойства.