Читайте также:
|
|
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. Откроем инспектор объектов (клавиша <F11>) и щелкнем на вкладке Events (События).
3. Два раза щелкнем на поле OnClick.
В редакторе кодов получим следующую программу (см. листинг ниже), где в классе TForm1 появится процедура FormClick, а в разделе реализации – описание этой процедуры.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormClick(Sender: TObject);
begin
... { Здесь что-то выполняется }
end;
end.
Таким образом мы создали пустую процедуру обработки щелчка мыши. Можно ее заполнить соответствующими кодами и получить нужный эффект.
Например, можно изменить цвет фона окна на черный, для чего поместим в описание процедуры TForm1.FormClick (между begin...end) следующую строку:
Form1.Color:= clBlack;
и запустим программу (клавиша <F9>). После того как появится окно, щелкнем на нем мышью и наблюдаем эффект.
Дата добавления: 2015-07-25; просмотров: 58 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Элементы классов | | | Типы методов |