Области видимости

Object Pascal предоставляет дополнительный контроль степени доступа к членам классов (полям и методам) с помощью директив protected, private, public, published и automated, открывающих соответствующие разделы объявлений, или, как принято говорить, – интерфейсы класса. За каждой из директив может следовать любое необходимое количество объявлений полей или методов.

Каждый интерфейс обеспечивает следующий уровень доступа.

§ Private (закрытый). Объявленные в данном разделе переменные и методы доступны только для того кода, который находится в блоке реализации самого объекта. Директива private скрывает особенности реализации объекта от пользователей и защищает члены этого объекта от непосредственного доступа и изменения извне.

§ Protected (защищенный). Члены класса, объявленные в разделе protected, доступны объектам, производным от данного класса. Это позволяет скрыть внутреннее устройство объекта от пользователя и в то же время обеспечить необходимую гибкость, а также эффективность доступа к полям и методам объекта для его потомков.

§ Public (открытый). Объявленные в этом разделе члены объекта доступны в любом месте программы. Конструкторы и деструкторы всегда должны быть объявлены как public.

§ Published (экспортируемый). Для членов объекта, объявленных в данном разделе, в процессе компиляции будет создана информация о типах времени выполнения (RTTI – Runtime Type Information). Это позволит другим элементам приложения получать информацию об элементах объекта, объявленных как published. В частности, подобная информация используется инспектором объектов при построении списков свойств объектов.

§ Automated (автоматизированный). Этот раздел сохранен только для обеспечения совместимости с Delphi 2.

Методы

Методы (Methods) представляют собой процедуры и функции, принадлежащие классу. Можно сказать, что методы определяют поведение класса.

Итак, методом называется объявленная в классе функция или процедура, которая используется для работы с полями и свойствами класса. Согласно принципам ООП, обращаться к свойствам класса можно только через его методы.

От обычных процедур и функций методы отличаются тем, что им при вызове передается указатель на тот объект, который их вызвал.

В классе всегда должны присутствовать два важнейших метода: конструктор и деструктор.

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

Создание метода – процесс, состоящий из двух этапов. Сначала следует объявить метод в объявлении класса, а затем создать код его реализации.

Например, выполним следующее.

1. Создадим новый проект типа Application.

2. Откроем инспектор объектов (клавиша ) и щелкнем на вкладке Events (События).

3. Два раза щелкнем на поле OnClick.

В редакторе кодов получим следующую программу (см. листинг ниже), где в классе TForm1 появится процедура FormClick, а в разделе реализации – описание этой процедуры.

unit Unit1;

Область видимости. Глобальные переменные и локальные переменные. C++ для начинающих. Урок #37


Читать еще…

Понравилась статья? Поделиться с друзьями: