Введение в объектно-ориентированное программирование на языке Object Pascal. Соколов Е.В. - 11 стр.

UptoLike

Составители: 

11
Отличительной особенностью функции Slash и процедуры Divide-
By является частичный характер выполняемых ими операций. Если вто-
рой их аргумент оказывается равным нулю, возникает исключительная
ситуация состояние программы, при котором дальнейшее выполнение
текущей подпрограммы невозможно. Возбуждение исключения, осуще-
ствляемое оператором raise, позволяет прервать вычисления и предоста-
вить вызывающей прогр амме право самой принять решение, как преод о-
леть появившуюся неод нозначность. Она может либо обработать ис-
ключительную ситуацию , если та не является критичной для основного
алгоритма, либо в свою очередь прекратить выполнение с выдачей соот -
ветствующего сообщения пользователю. По умолчанию ис пользуется
второй в а риант.
Механизм исключений является эффективной альтернативой за -
щищенной технике программирования , основанной на анализе возвра-
щаемых тем или иным способом кодах ошибки.
1.2. Использование моду лей
Созданный модуль может быть использован как в основной про-
грамме, так и в другом модуле; их называют клиентами данного м одуля.
Подключение осуществляется посредством оператора uses (использует ):
uses ИмяМодуля;
В программе все операторы uses должны стоять сразу после за-
головка, в модуле после слов interface или implementation. В одном
операторе uses можно перечислить и несколько имен, разделив их запя-
тыми.
После подключения модуля клиенту становятся доступны лишь
его открытые члены (т. е. те, которые были объявлены в секции интер-
фейса). Обращение к ним производится так, как если бы они были объ -
явлены в самом клиенте. В частности, переменные и константы стано-
вятся глобальными.
Возможна, однако, ситуация, когда разные модули содержат от-
крытые члены с одинаковыми именами. В этом случае обращение к чл е-
ну конкрет ного модуля осуществляется при помощи выражения
ИмяМодуля.ИмяЧлена
Если используется такая запись, то говорят , что имя члена квалифицир о -
вано именем модуля. Более подробно проблема перекрывающихся объ -
явлений рассматрив ается в § 1.3.
        Отл ичит ел ь ной ос обеннос т ь ю функции Slash и процед уры Divide-
By яв л яет с я час т ичны й характ ер в ы пол няем ы хим и операций. Е с л и в то-
рой ихаргум ент оказ ы в ает с я рав ны м нул ю, в оз никает искл ю чител ьн а я
ситуа ция — с ос тояние програм м ы , при котором д ал ь нейш ее в ы пол нение
т екущей под програм м ы нев оз м ожно. Воз бужд ение ис кл ючения, ос уще-
с т в л яем ое оператором raise, поз в ол яет прерв ат ь в ы чис л ения и пред ос т а-
в ит ь в ы з ы в ающей програм м е прав ос ам ой принят ь реш ение, как преод о-
л ет ь появ ив ш уюс я неод ноз начнос т ь . Она м ожет л ибо обра бота ть ис-
кл ю чител ьн ую ситуа цию , ес л и т а не яв л яет с я крит ичной д л я ос нов ного
ал горит м а, л ибов с в ою очеред ь прекрат ит ь в ы пол нение с в ы д ачей с оот -
в ет с т в ующего с ообщения пол ь з ов ател ю. По ум ол чанию ис пол ь з ует с я
в торой в ариант.
           М еханиз м ис кл ючений яв л яет с я э ффект ив ной ал ьт ернат ив ой за -
щищ е н н ой те хн ике прог   ра ммирова н ия, ос нов анной на анал из е в оз в ра-
щаем ы хт ем ил и ины м с пос обом код ахош ибки.

                         1.2. И сп о ль зование модулей

        Соз д анны й м од ул ь м ожет бы т ь ис пол ь з ов ан как в ос нов ной про-
грам м е, т ак и в д ругом м од ул е; ихназ ы в ают кл ие н та ми д анногом од ул я.
Под кл ючение ос ущес т в л яет с я пос ред с т в ом оператора uses (ис пол ь з ует ):
                                 uses ИмяМодуля;
          В програм м е в с е операторы uses д ол жны с тоят ь с раз у пос л е з а-
гол ов ка, в м од ул е — пос л е с л ов interface ил и implementation. В од ном
операторе uses м ожноперечис л ит ь и нес кол ь коим ен, раз д ел ив ихз апя-
т ы м и.
          Пос л е под кл ючения м од ул я кл иент у с т анов ят с я д ос т упны л иш ь
его от кры т ы е чл ены (т. е. т е, которы е бы л и объяв л ены в с екции инт ер-
фейс а). Обращение к ним произ в од ит с я т ак, как ес л и бы они бы л и объ-
яв л ены в с ам ом кл иент е. В час т нос т и, перем енны е и конс т ант ы с т ано-
в ят с я гл обал ь ны м и.
          Воз м ожна, од нако, с ит уация, когд а раз ны е м од ул и с од ержат от -
кры т ы е чл ены с од инаков ы м и им енам и. В э том с л учае обращение к чл е-
ну конкрет ногом од ул я ос ущес т в л яет с я при пом ощи в ы ражения
                               ИмяМодуля.ИмяЧлена
Е с л и ис пол ь з ует с я т акая з апис ь , тогов орят, чтоим я чл ена ква л ифициро-
ва н о им енем м од ул я. Б ол ее под робно пробл ем а перекры в ающихся объ-
яв л ений рас с м ат рив ает с я в § 1.3.


                                         11