Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Private. FName: TName; // Name қасиетінің мәні





FName: TName; // Name қасиетінің мәні

FAddress: TAddress; // Address қасиетінің мәні

Protected

constructor Create (Name: TName);

procedure Show;

function GetName: TName;

function GetAddress: TAddress;

procedure SetAddress(NewAddress: TAddress);

Public

property Name: TName // Name қасиеті
read GetName; // тек оқуға ғана мүмкіндік бар

property Address: TAddress // Address қасиеті
read GetAddress // оқуға және жазуға мүмкіндік бар
write SetAddress;

End;

Мұндағы Name – FName өрісімен байланысқан қасиет, GetName – FName өрісінен оқуға тағайындалған әдіс. Address – FAddress өрісімен байланысқан қасиет, GetAddress және SetAddress – сәйкес FAddress өрісіне оқуға және жазуға тағайындалған әдіс.

Төменде TPerson класының объектілерін құруға және оның қасиеттеріне қатынауды қамтамасыз ететін TPerson класының әдістері келтірілген.

constructor TPerson.Create(Name: TName); // TPerson класының конструкторы

Begin

FName:= Name;

End;

 

function TPerson.GetName; // Name қасиетінің мәнін алатын әдіс

Begin

Result:= FName;

End;

 

function TPerson.GetAddress; // Address қасиетінің мәнін алатын әдіс

Begin

Result:= FAddress;

End;

// Address қасиетінің мәнін өзгертетін әдіс

procedure TPerson.SetAddress(NewAddress: TAddress);

Begin

If FAddress = ’’ then FAddress:= NewAddress;

End;

Қасиетке қатынау үшін бағдарламаның мәтінінде өрістер мен әдістердегі сияқты объектінің атынан, нүктеден және қасиеттің атынан тұратын құрамды атты қолдану керек, мысалы:

Var

Student: TPerson // кластың айнымалысын жариялау

HisAddress: String;

Begin

Student:= TPerson.Create(’Иванов’);

Student.Address:= ’ул. Садовая, д.3, кв.25’;

...

HisAddress:= Student.Address;

...

Student.Free;

End;

Address қасиетіне мән меншіктеу нұсқасын орындағанда компилятор әдісті шақыру нұсқасында оны қайта трансляциялайды.

Student.SetAddress(’ул. Садовая, д.3, кв.25’);

Сырт жағынан қарағанда бағдарламада қасиетті қолданудың объектінің өрісін қолданудан еш айырмашылығы жоқ. Бірақ қасиет пен объектінің өрісінің арасында принциптік айырмашылық бар: қасиетке мән меншіктегенде және оның мәнін оқығанда қандай да бір жұмысты атқаратын процедура автоматты түрде шақырылады. Мысалы, біз FAddress өрісіне тікелей керекті мәнді орналастыра аламыз

Student.FAddress:= ’ул. Садовая, д.3, кв.25’;

Бірақ, Address қасиетін қолдана отырып біз тек оқу мен жазуға тағайындалған әдістерге әртүрлі әрекет жасай аламыз: қасиетке меншіктелген мәннің корректілігін тексеру, экранға хабарламаның шығуын қамтамасыз ету, экрандағы объектінің сырт көрінісін өзгерту және т.б. Егер жазу немесе оқу кезінде қосымша әрекеттердің қажеттігі тумаса, онда сәйкес әдістің орнына өрістің атын нұсқау қажет:

Type

TPerson = class

FAddress: TAddress;

procedure SetAddress(NewAddress: TAddress);

property Address: TAddress read FAddress write SetAddress;

End;

Қасиет нақты бір өріспен байланыспауы да мүмкін. Бұл жағдайда қасиетте қасиеттің типіне сай келетін берілгендермен әрекет жасау үшін екі әдіс анықталады.

2.7 Кластың құрылымы. Кластың элементтерінің көріну аймағы

Object Pascal объектілерінің модельінде оларды қай аймақта қолдануға болатындығын анықтайтын (көріну аймағы) құрамды бөліктерге қатынасты қамтамасыз ететін механизм бар. Барлық класс секциядан тұратын құрылымнан тұрады. Әрбір секция арнайы резервтелген сөздермен жарияланады. Олардың қатарына: published (декларацияланған), private (меншік), protected (қорғалған), public (қатынас бар), automated (автоматталған). Әрбір секцияның ішінде ең алдымен өріс, одан кейін әдіс, қасиет және оққиға жарияланады. Класс құрылымына мысал:

Type

TMyClass = class (TControl)

Date: 2015-07-01; view: 735; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию