TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Активизация методов 

             Метод активизируется посредством оператора вызова  процедуры
        или функции, состоящего из десигнатора метода, за которым следует
        список параметров. Такой тип вызова называется активизацией мето-
        да.

         десигнатор метода
         │                                         ┌────────────────────┐
         └─┬──────────────────────────────────────>│идентификатор метода├>
           │                                   ^   └────────────────────┘
           │ ┌──────────────────────┐ ┌───┐    │
           └>│ ссылка на переменную ├>│ . ├────┘
             └──────────────────────┘ └───┘

             Ссылка на переменную задается, если десигнатор метода должен
        описывать экземпляр объектного типа,  а идентификатор метода дол-
        жен обозначать метод этого объектного типа.

             Экземпляр, обозначенный десигнатором метода,  становится не-
        явным фактическим параметром метода; он соответствует формальному
        параметру-переменной с именем Self, который владеет объектным ти-
        пом, соответствующим активизированному методу.

             Для статических  методов описанный тип (на этапе компиляции)
        определяет, какой из методов активизируется. Например, десигнато-
        ры F.Init и FP^.Init всегда  активизируют  TField.Init,  так  как
        описанным типом F и FP^ является TField.

             Для виртуальных методов выбором экземпляра управляет  факти-
        ческий тип (этапа выполнения).  Например,  десигнатор FP^.Display
        может активизировать  методы  TField.Display,  TStrField.Display,
        TNumField.Display или TZipField.Display (в зависимости от  факти-
        ческого типа экземпляра, указываемого FP).

             В операторе with,  ссылающемся на экземпляр объектного типа,
        ссылка на  переменную  в  десигнаторе метода может опускаться.  В
        этом случае экземпляром, на который ссылается оператор with, ста-
        новится неявный  параметр  Self  активизации метода.  Аналогично,
        ссылка не переменную может опускаться в  методе.  В  этом  случае
        параметром Self метода, содержащего вызов, становится неявный па-
        раметр Self активизации метода.


Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz