Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
матодичка_2сем.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
181.25 Кб
Скачать

Свойства

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

Объявление свойства с помощью Property, затем имя свойства и его тип. Помимо этого нужны два спецификатора – read(метод чтения) и write(метод записи).

Property<имя>:<тип>

read<метод чтения>

Write<метод записи>;

После read – поле или метод, к которому происходит обращение при чтении значения свойства

После write – поле или метод, к которому происходит обращение при установлении значения свойства

Type TPoint = class;

X,y:real;

Для защиты полей их дублируют свойствами

Property Fx:real read x

Write set x;

Property Fy:real read y

Write set y;

Function set x(xx:real):real;

End;

Function TPoint.SetX(…):real;

Begin

TPoint.Fx:xx;

End;

20.Зоны видимости полей и методов. Понятие «свойства» класса.

Программист может ограничить доступ к атрибутам своих объектов для других программистов (в том числе и для самого себя) с помощью специальных ключевых слов

Type TClass: class;

Private(всё, что объявлено в этой секции, недоступно за пределами модуля, но доступно в пределах этого модуля)

Protected(всё, что объявлено в этой секции, доступно только потомкам данного класса)

Public/Published(всё, что объявлено в этой секции, доступно за пределами данного модуля)

Type TClass = class

Public

A:real;

Function fa:real;

Protected

B:real;

Function fb:real;

Private

C:real;

Function fc:real;

Есть две ситуации:

1.Тот модуль

Var cc:Tclass;

Begin

cc.a:=0; секция открытая, можно присваивать

cc.b:=1;class является потомком самого себя

cc.c:=2;

2. Из другого модуля

На cc.b и cc.c компилятор будет ругаться, а с сс.а – всё ок