e(Name:Tname;Dep:integer);
begin
inherited Create(Name);
FDepartment:Dep;
end;
Бу мисолда inherited директиваси билан аждод синф конструктори чақирилади ва авлод синф майдонига қиймат берилади
protected и private директивалари
Синф элементларига мурожаатни бошқариш учун protected (ҳимояланган) ва private (хусусий), директиваларидан фойдаланилади.
Ҳимояланган, яъни protected синф элементларига синфдан ташқари фақат ворис синфларда мурожаат қилиш мумкин. Одатда protected секциясига синф усуллари таърифи жойлаштирилади.
Ёпиқ, яъни private синф элементлари фақат модуль ичида мурожаат қилиш мумкин. Одатда бу секцияга синф майдонлари таърифлари жойлаш-тирилади.
Қуйида мурожаатни бошқариш директиваларидан фойдаланилган TPerson синфи таърифи келтирилган.
TPerson class private
FName: TName;
FAddress: TAddress;
protected
Constructor Create(Name:TName);
Function GetName: TName;
Function GetAddress: TAddress;
Procedure SetAddress(NewAddress:TAddress);
Property Name: TName
read GetName;
Property Address: TAddress
read GetAddress
write SetAddress;
end;
Полиморфизм - бу ҳар хил синфрга кирувчи усулар учун бир хил номларни ишлатиш имкониятини яратишдир. Полиморфизм принципи шундан иборатки синф объектига мос бўлган бирор ишнинг бажарилишида бир хил усулга мурожаат қилиш мумкинлигини таъминлаб беради. Мисол учун биз янги синф ташкил қилишга қарор қилдик. Бу синф бош синфдан фарқи унинг усулида алгоритм ўзгартирилган дейлик. Натижада биз бир хил номли усулга эга бўлган иккита синфни ташкил қилган бўламиз. У ҳолда ташкил қилинган янги синф полиморфизм хоссасига эга бўлади. Синфлар дастурнинг Type бўлимида умумий ҳолда қуйидагича эълон қилинади.
Type
Class()
Pub
Страницы: << < 9 | 10 | 11 | 12 | 13 > >>