bilan aniqlangan har bir o‘zgaruvchi shu tur nusxasi (namunasi) deyiladi.
Misol. Belgi va matn ma’lumotlar bilan ishlaydigan obyekt.
Type
ObjPos Object
Line, Col : Word;
Procedure Init (Init_Line,Init_Col : Word);
Function GetLine: Word; {Line qiymatini qabul qilish}
Function GetCol: Word; {Col qiymatini qabul qilish}
Procedure Print;
End;
Procedure ObjPos.Init(Init_Line, Init_Col : Word);
Begin
Line : Init_Line;
Col : Init_Col;
End;
Function ObjPos.Get_Line : Word;
Begin
Get_Line : Line
End;
Function ObjPos.Get_Col : Word;
Begin
Get_Col : Col
End;
Procedure ObjPos.Print;
Begin
Write(#7);
End;
...
Var
ObjPos_Var : ObjPos; {obyekt nusxasini e’lon qilish}
...
Begin
...
ObjPos_Var.Init(5,15); {obyekt uchun boshlang‘ich qiymatlar berish}
...
End;
Obyektni e’lon qilishda metodlarning sarlavxalarigina yoziladi. Protsedura va funksiyalar e’loni programma e’lon qismining boshqa bo‘lagida bo‘lishi mumkin. Obyekt maydonlariga murojaat yozuv (Record) maydonlariga murojaat bilan bir xil («.» –nuqta va With operatori orqali). Lekin obyekt ma’lumotlariga quyidagicha murojaat ijobiy baholanmaydi.
ObjPos_Var.Line :5;
ObjPos_Var.Col :15;
Umuman, OYPda obyekt ma’lumotlariga murojaat faqat metodlar orqali amalga oshiriladi.
Obyektlarni e’lon qilishda ma’lum bir talablar bajarilishi kerak:
- obyekt turi asosiy daturning (modullarining) Type bo‘limida e’lon qilinishi mumkin. Qism-programmalarda lokal obyektlarni e’lon qilish mumkin emas;
- obyekt turini aniqlashda ma’lumotlar maydoni metodlar maydonidan oldin kelishi kerak;
- obyekt komponentasi sifatida fayl kelishi mumkin emas, va aksincha, fayl “obyekt” turidagi komponentaga ega bo‘lishi mumkin emas.
ObjPos obyekti orqali matn ekranidagi birorta belgi holati aniqlanadi. Endi belgini o‘zini aniqlovchi va uning ustida ma’lum bir ish bajaruvchi ObjSym obyektini aniqlaylik.
Uses Crt;
Type
ObjSym Object
Line, Col : Word;
Sym : Char;
Procedure Init (Init_Line,Init_Col: Word; Init_Sym : Char);
Function GetLine: Word;
Function GetCol: Word;
Procedure Print;
End;
Procedure ObjSym.Init(Init_Line, Init_Col : Word);
Begin
Line : Init_Line;
Col :Init_Col;
Sym :Init_Sym;
End;
Function ObjSym.Get_Line : Word;
Begin
Get_Line :Line
End;
Function ObjSym.Get_Col : Word;
Begin
Get_Col :Col
End;
Procedure ObjSym.Print;
Begin
Crt.GotoXY(Col,Line);
Write(Sym);
End;
Agar bu obyektning aniqlanishiga e’tibor beradigan bo‘lsak, unda ObjPos obyektidagi ma’lumotlar va Get_line, Get_Col funksiyalaridan foydalanilgan. Sym va Print komponentalari yangidan qo‘shilgan va Init protsedurasi qaytadan yozilgan. Ko‘rinib turibdiki, ObjSym obyekti ObjPos obyekti xususiyatlarini vorislik qilib olgan. Umuman aytganda, OYPda vorislik–bu obyektlarning oddiy tuzilishdan murakkab tuzilishga tomon obyekt xususiyatlarini olib o‘tishi va rivojlanishidir.