Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на Delphi. От новичка до профессионала! 12.4 Области видимости переменных и функций


Информационный Канал Subscribe.Ru


MyDelphi7 http://mydelphi7.narod.ru

 

12.4 Области видимости переменных и функций


Теперь остановимся на вопросе об областях видимости элементов программы — констант, переменных, функций и процедур, т.е. о связи места их объявления в программе и места их использования. Частично этот вопрос мы уже затрагивали в предыдущем разделе, не упоминая о самом понятии область видимости.

Видимость отдельных элементов модуля, описанного ранее, поясняется подробными комментариями в тексте этого модуля. Поэтому ограничимся только некоторым подведением итогов.

> Элементы, объявленные в разделе interface модуля вне описания типа, видимы и доступны внутри данного модуля и из внешних модулей. В рассмотренном примере это относится к переменной Сh2 и процедуре F3.

> Элементы, объявленные в разделе implementation модуля, видимы и доступны внутри данного модуля, но не доступны из внешних модулей. В рассмотренном примере это относится к переменной Ch3 и процедуре F4.

> Элементы, объявленные в классе в разделе private, видимы и доступны только внутри данного модуля. При этом из процедур, объявленных внутри класса, к ним можно обращаться непосредственно по имени, а из других процедур — только со ссылкой на объект данного класса. В рассмотренном примере это от носится к процедуре F1. Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private.

> Элементы, объявленные в классе в разделе public, видимы и доступны для объектов любых классов и для других модулей. При этом из объектов того же класса к ним можно обращаться непосредственно по имени, а из других объектов и процедур — только со ссылкой на объект данного класса. В рассмотренном примере это относится к переменной Сh1 и процедуре F2.

> В классах, помимо обсуждавшихся ранее, могут быть еще разделы protected — защищенные. Элементы, объявленные в классе в разделе protected, видимы и доступны для любых объектов внутри данного модуля, а также для объектов классов — наследников данного класса в других модулях. Объекты из других модулей, классы которых не являются наследниками данного класса, защищенных элементов не видят.

> Элементы, объявленные внутри другой процедуры (в рассмотренном примере это переменная Сh4 и процедура F5, описанные внутри процедуры TForm1.Button1CIick), являются локальными, т.е. они видимы и доступны только внутри данной процедуры или внутри процедур, вложенных в данную. При этом время жизни переменных, объявленных внутри процедуры, определяется временем выполнения данной процедуры. Так переменная Ch4 в нашем примере создается в момент вызова процедуры TForm1.Button1Click и уничтожается при завершении работы этой процедуры. Она видима в самой процедуре TForm1.Button1Click и ее может видеть процедура F5. Вложенная процедура F5 доступна только из процедуры TForm1.Button1Click, в которой она описана.


Если Вам что-то осталось непонятным, оставьте на потом.


Всё, что представлено в рассылке, копировать запрещено!
Сайт рассылки http://mydelphi7.narod.ru тут архив.
 

 

 



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное