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, OYDda 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, OYDda vorislik–bu
obyektlarning oddiy tuzilishdan murakkab tuzilishga tomon obyekt xususiyatlarini olib o‗tishi va
rivojlanishidir.
Do'stlaringiz bilan baham: