Type TName = string[15]; TAddress = string[35];
TPerson = class
private FName: TName;
FAddress: TAddress;
Constructor Create (Name:Tname);
Procedure Show;
Function GetName: TName;
59
quyidagicha yozish mumkin:
student.Address := 'Toshkent, Yunusobod 21, kv.3'.
Vorislik — har qanday sinf boshqa sinf asosida yaratilishi
mumkinligini bildiradi.
Bosh sinfdan yangi bir sinfyaratish quyidagi dastur kodi yordamida
bajariladi.
TnewClass=Class(TotolClass);
Bu yerda TotolClass —bosh sinf, TnewClass — esa yangi sinf
nomlari. Yangi sinf bosh sinfning barcha xossa va usullarini qabul
qiladi.
Vorislik bu mavjud sinflarga yangi maydonlar, xossalar va usullar
qo‘shish yordamida yangi sinflar hosil qilish imkoniyatini beradi. Yangi
hosil qilingan avlod sinf asosi ya’ni ajdod sinf xossalari va usullariga
vorislik qiladi.
Avlod sinf ta’rifida ajdod sinf nomi ko‘rsatiladi. Misol uchun
TEmployee (xodim) sinfi TPerson sinfidan FDepartment (bo‘lim)
maydonini qo‘shish yordamida hosil qilinishi mumkin. TEmplioyee
sinfining ta’rifi quyidagicha bo‘ladi:
TEmployee = class(TPerson)
FDepartment: integer;
constructor Create(Name:TName; Dep: integer);
end; Bu misolda TEmployee sinfi TPerson sinfining vorisidir.
TEmpioyee o‘z konstruktoriga ega bolishi lozim. TEmployee sinfi
konstruktori quyidagicha berilishi mumkin:
constructor TEmpioyee.Create(Name:Tname;Dep: integer);
begin inherited Create(Name);
FDepartment:=Dep;
end; Bu misolda inherited direktivasi bilan ajdod sinf konstruktori
chaqiriladi va avlod sinf maydoniga qiymat beriladi.