Иллюстрированный самоучитель по Architecture .NET

Класс TestHotel. Резюме.

Класс TestHotel, который находится в файле TestHotel.h, содержит интерактивную программу для испытания классов, связанных с резервированием гостиницы, и классов клиентов, поддерживающих описанные ранее команды. В этом классе имеется цикл, просматривающий команды, – такой цикл считывает команду и затем выполняет ее. Класс содержит большой блок try для всех команд, за которым следует обработчик исключений catch. Обратите внимание, – чтобы получить доступ к пространству имен нужно использовать директиву using.

//TestHotel.h
using namespace System;
// использовать пространство имен Система;
using namespace OI::NetCpp::Acme;
// использовать пространство имен OI::NetCpp::Acme;
public _gc class TestHotel
// класс сборщика мусора TestHotel
{
public:
static void Main()
{
const int MAXCUST = 10; // константа
HotelBroker *hotelBroker = new HotelBroker;
Customers *customers = new Customers(MAXCUST);
// новые Клиенты
InputWrapper *iw = new InputWrapper;
String *cmd;
Console::WriteLine("Enter command, quit to exit");
// ("Введите команду, quit для выхода");
cmd = iw › getString("H> ");
while (! cmd › Equals("quit"))
{
try // попытка
{
if (cmd › Equals("hotels")) // если Равняется
// ("гостиницы")
{
String *city = iw › getString("city: ");
// город
hotelBroker › ShowHotels(city); // город
}
else if (cmd › Equals("all")) // если Равняется
// ("все")
hotelBroker › ShowHotels ();
else
hotelhelp();
}
catch (Exception *e) // Исключение
{
Console::WriteLine(
"Exception: {0}", e › Message);
// "Исключение: {0} ", e › Сообщение);
}
cmd = iw › getString("H> ");
}
}
};

Резюме

В этой главе сделан обзор принципов объектно-ориентированного программирования на управляемом C++, причем много внимания было уделено изучению наследования. Мы обратились к примеру "Бюро путешествий Acme", который продолжим использовать на протяжении всей книги.

Мы также рассмотрели абстракции, наиболее подходящие для того, чтобы реализовать системы резервирования разных объектов, и реализовали систему резервирования гостиничных номеров. Описанные нами абстрактные базовые классы можно использовать и для реализации других систем резервирования.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.