ВУЗ:
Составители:
Рубрика:
ными  только  в  контексте  объявления  свойства).  Обычно  свойство  свя-
зано с некоторым полем и указывает те методы класса, которые должны 
использоваться при записи в это поле или при чтении из него. Например: 
type 
TaClass = class 
IntField: Integer;  
Function GetField: Integer;  
Procedure SetField (Value: Integers);  
Property IntegerValue: Integer  
read GetField 
write SetField; 
end; 
В  контексте  программы  свойство  ведет  себя  как  обычное  поле. 
Например, мы могли бы написать такие операторы: 
var 
aClass: TaClass; 
Value: Integer; 
begin 
aClass := TaClass.Create;  
//  Обязательное  обращение  к  конструктору  перед  обращением  к 
полю или свойству! aClass.IntegerValue := 0; 
Value := aClass.IntegerValue; 
aClass.Destroy; // Удаление ненужного объекта  
end;  
Более того, возможен и такой оператор присваивания: 
aClass.IntField := NewValue; 
Разница между этим оператором и оператором 
aClass.IntegerValue := NewValue; 
заключается  в  том,  что  при обращении  к  свойству  автоматически  под-
ключается  метод setField, в  котором могут  реализовываться  специфич-
ные действия.  
Если необходимо, чтобы свойство было доступно только для чте-
ния или только для записи, следует опустить соответственно часть write 
или read. Вообще  говоря,  свойство  может  и  не  связываться  с  полем. 
Фактически оно описывает один или два метода, которые осуществляют 
некоторые действия над данными того же типа, что и свойство. 
Наиболее полно работа с классами изложена в [7, 8]. 
71
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »
