Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОАиП 2011.doc
Скачиваний:
10
Добавлен:
24.04.2019
Размер:
339.46 Кб
Скачать

10.5. Свойства

Правила ООП требуют, чтобы обращение к полям осуществлялось посредством методов, однако это не всегда удобно. Поэтому класс имеет свойства –специальный механизм, регулирующий доступ к полям. Свойства объявляются с помощью специальной конструкции «propertyreadwrite…;».

Обычно свойство связано с некоторым полем и указывает те методы класса, которые должны использоваться при записи в это поле и при чтении из него.

Это делается, например, следующим образом:

Property x:TPole read GetPole write SetPole;

Метод Getpole служит для чтения, а SetPole – для записи. Если необходимо сделать доступ к полю только для чтения, то следует опустить write.

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

Подпрограммы подразделяются на процедуры и функции.

Процедура имеет следующую структуру:

Procedure <имя процедуры> ([список имен формальных параметров с

указанием их типов]);

Const [описание используемых констант];

Type [описание используемых типов];

Var [описание используемых переменных];

Begin

// Операторы

End;

Вызов процедуры: <имя процедуры> ([список имен формальных параметров без указания их типов]);

В отличие от процедур функции могут использоваться в выражениях в качестве операнда, поэтому они имеют следующую структуру:

Function <имя функции> ([список имен формальных параметров

с указанием их типов]): <тип результата>;

Const [описание используемых констант];

Type [описание используемых типов];

Var [описание используемых переменных];

Begin

// Операторы

Result:= … ;// Присвоение результата вычислений переменной Result

// или <имя функции>:= … ;

End; // Конец функции

Вызов функции: y:=<имя функции > ([список имен формальных параметров без указания их типов]);

Процедуры и функции могут быть использованы в качестве формальных параметров подпрограмм. Для этого определяется тип:

Type <имя> = function ([список формальных параметров]):<тип рез-тата>;

или

Type <имя> = procedure ([список формальных параметров]);.

Имя процедуры или функции должно быть уникальным в пределах программы. Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем перечисляются через точку с запятой имена формальных параметров и их типы. Имеется три вида формальных параметров: параметры-значения, параметры-переменные, параметры-константы. При вызове подпрограммы передача данных для этих видов осуществляется по-разному. Параметры-значения копируются, и подпрограмма работает с их копией, что требует дополнительных затрат памяти. Поэтому рекомендуется использовать параметры-константы или параметры-переменные. При использовании параметров-переменных (в описании перед ними ставится Var) и параметров-констант (перед ними ставится const) в подпрограмму передаются адреса (указатели фактических параметров) и она работает непосредственно с фактическими параметрами. Благодоря этому экономится память, а также организуется передача результата работы подпрограммы вызывающей программе через параметры-переменные. Через параметры-константы этого делать нельзя, т.к. их нельзя менять внутри подпрограммы. В качестве фактических параметров могут использоваться арифметические выражения, если формальный параметр – константа или параметр-значение.