Обрабатываем несколько исключительных ситуаций
мые методы классов. Вы помните обращения к свойствам полей — заголовку (Caption), названию (Name), содержимому (Text)? Все это были свойства соответствующих классов TButton или TEdit, а на самом деле эти свойства представлены скрытыми внутри данных классов переменными.
Так вот, помимо переменных, в классах скрыты и функции, позволяющие что-то сделать с этими переменными — изменить их, задать новые значения, а также выполнить действия связанные с логикой работы этих классов. Такие функции, принадлежащие классу, и называются методами. Например, для класса Окно вполне естественно наличие методов Открыть и Закрыть. Класс Кнопка, очевидно, имеет метод Нажать. Для всех видимых элементов управления обязательно определен метод Нарисовать, который и задает, как конкретный элемент будет выглядеть на экране.
Вызов метода записывается в Си++ достаточно естественно. Команда Открыть окно А будет выглядеть как А.ореп(), где операция"." связывает метод и переменную и указывает, что метод open вызывается конкретным экземпляром (переменной А) класса окно. По другому (без указания их «хозяина», как обычные стандартные функции) методы вызывать нельзя.
Некоторые методы могут возвращать значения. Например, команда A.GetWidth() должна вернуть число, характеризующее ширину окна А.
1<№нвж?№1»аэ1йжх1»№-та1с№-11№Л1(агед1^^
Значение, возвращаемое функциями Си++, можно игнорировать. Многие стандартные функции помимо выполнения требуемых от них действий также возвращают некоторые величины, чаще всего это признак, характеризующий успешность действия. Так, команда А.ореп() помимо того, что попробует открыть окно А, еще вернет логическое значение true, если открыть А удалось, или значение false, если открыть А не получилось. Можно написать
ErrorCode = А.ореп();
Здесь мы проверяем, удалось ли открыть окно А, и сохраняем логическое значение, возвращаемое методом А.ореп() в переменной ErrorCode.
Но можно записать и так:
A.openQ;
В этом случае разработчика не волнует, открылось ли окно А в действительности (хотя это и неправильно), и он не намерен сохранять результат своего действия в переменной, чтобы потом этот результат проверить.
105