Читаем C#. Объектно ориентированное программирование полностью

не равно. Выражение op=='+'|op=='-' равно true, если значение переменной

op равно '+' или '­' (и false во всех остальных случаях). Значение выраже-

ния op=='+'|op=='-'|op=='*'|op=='/' равно true, если переменная op равна

'+', или равна '­', или равна '*', или равна '/'. Оператор логического отри-

цания ! превращает true в false и false в true. Поэтому значением выраже-

ния !(op=='+'|op=='-'|op=='*'|op=='/') будет true, только если переменная

op не равна ни одному из символьных значений '+', '­', '*' или '/'. Други-

ми словами, значение выражения равно true, если мы ввели неправильный

символ операции. В этом случае благодаря условному оператору выводится

текстовое сообщение "Такая операция недопустима!" и инструкцией break завершается работа оператора цикла. Еще один способ цивилизованно вый-

ти из бесконечного циклического процесса — ввести некорректный символ

арифметической операции.

Блок try-catch предназначен, как уже отмечалась, для обработки ис-

ключительных ситуаций. Исключительная ситуация — это ошибка, которая возникает в процессе выполнения программы. В C# очень

элегантная  и  мощная  встроенная  система  обработки  ошибок.  Ба-

зируется она как раз на конструкции try-catch. Основная идея, за-

ложенная в процедуру обработки ошибок, достаточно проста и эле-

гантна. Программный код, который может при выполнении вызвать

ошибку,  заключается  в  блок  try.  После  try-блока  обычно  следует

несколько catch-блоков. Каждый catch-блок предназначен для об-

работки ошибки определенного типа. Если в try-блоке в процессе

выполнения программы возникает ошибка, код try-блока перестает

выполняться, а вместо этого выполняется код соответствующего типу

ошибки catch-блока. В рассматриваемом примере использован всего

один catch-блок, который предназначен для обработки всех ошибок, которые могут возникнуть при выполнении программы.

Нам осталось разобрать только программный код в catch-блоке. Там всего

одна инструкция Console.WriteLine("Выполнена недопустимая команда."), которая выполняется, если при выполнении команд в блоке try возникнет

ошибка — любая. Если ошибка возникла, выполнение команд в try-блоке

Консольная программа           51

прекращается и выполняются команды в catch-блоке. После этого выпол-

няются команды, которые находятся после конструкции try­catch. Если

же при выполнении try-блока ошибки не возникают, catch-блок не выпол-

няется. С помощью такой нехитрой конструкции мы обеспечиваем более

устойчивую работу программы.

Протестируем работу программы. Для начала выделим несколько показа-

тельных ситуаций:

 если вместо символа операции мы введем слово exit, работа программы

будет завершена;

 если мы введем некорректный символ операции, работа программы будет

завершена;

 если мы введем некорректное число, программа будет завершена.

Реализуем каждую из этих гипотетических ситуаций. На рис. 1.15 показа-

на ситуация, когда работа программы завершается вследствие ввода клю-

чевого слова exit.

Рис. 1.15.  Работа программы завершена инструкцией exit На рис. 1.16 проиллюстрировано, что произойдет, если мы введем некор-

ректный символ для арифметической операции.

Рис. 1.16.  Работа программы прекращена из-за некорректного символа

арифметической операции

52

Глава 1. Информация к размышлению: язык C# и даже больше

Наконец, реакция программы на некорректное числовое значение показа-

на на рис. 1.17.

Рис. 1.17.  Работа программы прекращена из-за некорректного числа

Желающие могут еще поупражняться в работе программы и подвергнуть

ее всевозможным испытаниям. У нас же есть более важные задачи, к реше-

нию которых мы приступим в следующей главе.

Классы и объекты

Хотите обмануть мага? Боже, какая

детская непосредственность. Я же вижу

вас насквозь.

Из к/ф «31 июня»

С классами мы уже сталкивались — собственно, ни одна наша программа

не обошлась без класса. Об объектах речь тоже уже шла. Но назвать это

знакомством с классами и объектами было бы с нашей стороны несколько

самонадеянно. Здесь мы постараемся систематизировать и привести в толк

наши познания в данной области. Мы это сделаем, поскольку альтернати-

вы у нас нет — без классов и объектов о программировании в C# можно

и не мечтать.

Описание класса

Это экспонаты. Отходы, так сказать,

магического производства.

Из к/ф «Чародеи»

Мы уже примерно представляем, что такое класс. Во всяком случае, классы

мы использовали каждый раз, когда писали программу. Вместе с тем каж-

дый раз у нас был лишь один класс, причем довольно специфический —

для этого класса мы не создавали объекты. Главное его предназначение

54

Глава 2. Классы и объекты

состояло в том, что в классе описывался метод Main(), во многих отноше-

ниях отождествляемый с программой. В этой главе мы перейдем на ка-

чественно новый уровень программирования — наши программы будут

содержать несколько классов. Также мы узнаем, как на основе классов соз-

даются объекты — ведь в конечном счете именно для создания объектов

нужен класс.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных