|
Технологии программированияЭто правило и называется инкапсуляцией. До сих пор идея инкапсуляции внедрялась в программирование только посредством призывов и примеров в документации, но в языке же Object Pascal появилась соответствующая конструкция. В объектах Object Pascal пользователь объекта может быть полностью отгорожен от его полей при помощи свойств. Работу со свойствами рассмотрим на следующем примере. Пусть мы создали при помощи дизайнера форм Delphi экранную форму Forml с двумя элементами визуальных компонент: Button 1 и Label 1 (рис. 1). Рис. 1. Экранная форма примера Кликнем кнопку Button1 и отредактируем исходный текст модуля до следующего текста: unit testir; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type TSomeType = String; type TAnObject = class(TObject) private FValue: TSomeType; function GetAProperty: TSomeType; procedure SetAProperty (ANewValue: TSomeType); public property AProperty: TSomeType read GetAProperty write SetAProperty; end; var Form1: TForm1; AnObject: TAnObject; implementation {$R *.DFM} procedure TForm1.ButtonlClick(Sender: TObject); begin AnObject:= TAnObject.Create; AnObject.AProperty:= 'Привет!'; Label1.Caption:= AnObject.AProperty; end; procedure TAnObject.SetAProperty( ANewValue: TSomeType); begin FValue:= ANewValue; {Засылка значения в поле} end; function TAnObject.GetAProperty: TSomeType; begin GetAProperty:= FValue; {Чтение значения из поля} end; end ...» |
Код для вставки книги в блог HTML
phpBB
текст
|
|