русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Свойства объектов в Delphi

В  Object Pascal  ограничение доступа к полям объекта реализуется при помощи свойств объекта. Свойство объекта характеризуется  полем, хранящем значением свойства, и двумя методами, обеспечивающими доступ к полю свойства. Метод установки значения свойства называется методом записи  свойства (write), метод получения значения свойства называется методом чтения  свойства (read).

В описании класса  перед именем свойства  записывают слово property (свойство). После имени свойства указывается его тип, затем имена методов, обеспечивающих доступ к значению свойства. После слова read указывается имя метода, обеспечивающего чтение свойства, после слова write – имя метода записи свойства. Следующий пример содержит описание класса  с двумя свойствами – Name и Oklad.

Tperson=class
private
fname:string;
foklad:integer;
Constructor Create(name:string; oklad: integer);
Procedure show;
Function GetName : string;
Function GetOklad : integer;
Procedure SetOklad (NewOklad:integer);
public
Property Name:string
read GetName;
Property Oklad: integer
read GetOklad
write SetOklad;
end;

В программе для задания  свойства не обязательно записывать инструкцию применения к объекту метода установки значения свойства, можно записать обычную инструкцию присваивания значения свойству. Например, чтобы присвоить значение свойству Oklad объекта sotrudnik достаточно написать

sotrudnik.Oklad:=300;

Компилятор  перетранслирует приведенную инструкцию  в инструкцию вызова метода

sotrudnik.SetOklad(300);

Внешне использование свойств в программе ничем не отличается от использования полей объекта. Вместе с тем между свойством и полем объекта существует принципиальное отличие: при присвоении  и чтении значения свойства автоматически вызывается  процедура, которая выполняет некоторые действия.

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

Оформление данных объекта как свойства позволяет ограничить  доступ к полям, хранящим значения свойств объекта, например, можно разрешить только чтение. Чтобы инструкции программы не могли изменить значение свойства, нужно указать только имя метода чтения. Попытка  присвоить значения свойству, предназначенному  только для чтения, вызовет ошибку при компиляции. В приведенном выше описании класса  свойство Name доступно только для чтения, а свойство Oklad   - для чтения и записи.

Установить значение свойства, защищенного от записи, можно во время инициализации объекта.

Просмотров: 18652

Вернуться воглавление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.