Реферат: Программирование. Delphi
end;
Следует обратить внимание на то, что в инструкциях метода доступ к полям объекта осуществляется без указания имени объекта.
Инкапсуляция и свойства объекта
Под инкапсуляцией понимается скрытие полей объекта с целью обеспечения доступа к ним только посредством методов класса.
В Object Pascal ограничение доступа к полям объекта реализуется при помощи свойств объекта. Свойство объекта характеризуется полем, хранящем значение свойства, и двумя методами, обеспечивающими доступ к полю свойства. Метод установки значения свойства называется методом записи свойства (write), метод получения значения свойства называется методом чтения свойства (read).
В описании класса перед именем свойства записывают слово property (свойство). После имени свойства указывается его тип, затем имена методов, обеспечивающих доступ к значению свойства. После слова read указывается имя метода, обеспечивающего чтение свойства, после слова write - записи свойства имя метода. Ниже приведен пример описания класса TTPerson, содержащего два свойства: Name и Address.
type
TN ame= string[15] ;
TAddress= string[35];
TTPerson= class
Private
FN am e:Tnam e; // значение св-ва Name
Faddress:TAdress; // значение св-ва Address
Constructor Create (Name :Tnam e);
Procedure Show;
Fu nction GetName:TName;
Function GetAddress:TAddress;
Procedure SetAddress (NewAddress :TAddress ) ;
Public
Property Name: Tname
read GetName;
Property Address: Taddress
read GetAddress
write SetAddress;
end;
В программе для установки значения свойства не обязательно записывать инструкцию применения к объекту метода установки значения свойства, можно записать обычную инструкцию присваивания значения свойству. Например, чтобы присвоить значение свойству Adress объекта student, достаточно записать
Student.Address:= ' С.Петербург, ул.Садовая 21, кв. 3';
Компилятор перетранслирует приведенную инструкцию присваивания значения свойству в инструкцию вызова метода
S tudent. SetAddress( ' С. Петербург, ул. Садовая 21, кв .3'),•