Збекистон миллий университети



Download 1,98 Mb.
bet43/56
Sana23.06.2022
Hajmi1,98 Mb.
#694633
TuriПрограмма
1   ...   39   40   41   42   43   44   45   46   ...   56
Bog'liq
inf va dast-oquv-qollanma

Назорат саволлари



  1. Модулли программалашнинг афзаллик томонлари нимада?

  2. Турли модулларда бир хил ном билан аниқланган объектларни ишлатиш мумкинми?

  3. Фақат Implementation бўлимида аниқланган объектни ишлатиш доираси қандай?

  4. Турбо Паскал стандарт модуллари фойдаланувчи аниқлаган модулларга нисбатан имтиёзга эгами?

  5. Модулни компилиясида Make ва Build режимлар фарқи нимада?

§ 3.21. Объектга йўналтирилган программалаш (ОЙП). Объектларни аниқлаш.

ОЙП асосида битта структура (тузилишда) да берилганларни ва улар устида бажариладиган амалларни бирлаштириш ғояси ётади.


ОЙП учта асосий тушунчага таянади: инкапсуляция, ворислик ва полиморфизм.
Инкапсуляция – берилганлар ва шу берилган билан ишлайдиган процедура ва функциялар аралашмасини ҳосил қилишдир. Натижада берилганлар янги тури–объект ҳосил бўлади.
Ворислик–аниқланган объектлардан фойдаланган ҳолда улардан келиб чиқувчи объектлар иерархиясини ҳосил қилиш. Ҳар бир «ворис» ўз «аждоди» даги берилганлар тавсифи ва улрни қайта ишловчи усуллар (методлар) ни ўзлаштиради.
Полиморфизм–ворислик иерархиясидаги барча объектларга бир вақтда қўлланадиган, бир хил номдаги амалларни (процедура ва функциялар) аниқлаш имкониятидир. Бунда ҳар бир объект бу амални ўз устида бажарилишида ўзига хосликларини буюртма бериши мумкин.
ОЙП мураккаб программаларни ёзишни соддалаштиради ва бу жараёнга ихчамлик хусусиятини беради. ОЙП нинг асосий афзаллиги шундаки программа қўллаш соҳасини ўзгартиришга даструни ўзгартирмасдан, фақат объектлар иерархиясига янги ўзгартиришлар (сатхлар қўшиш) орқали эришиш мумкин.
Объектларни аниқлаш. Объект-таркибида ўзаро боғланган ҳар хил турдаги ўзгарувчилар (берилганлар майдони) ва уларни қайта ишлайдиган процедура ва функциялардан (методлар) ташкил топган тузилмадир. Объект турини аниқлаш учун “Object” махсус сўз аниқланган ва у қуйидагича эълон қилинади.
Type
<объект номи>  Object
<Берилганлар майдони>;
<Методлар сарлавҳалари> ;
End;
<Объект номи > билан аниқланган ҳар бир ўзгарувчи шу тур нусхаси (намунаси) дейилади.
Мисол. Белги ва матн маълумотлар билан ишлайдиган объект.
Type
ObjPos  Object
Line, Col : Word;
Procedure Init (Init_Line,Init_Col : Word);
Function GetLine: Word; {Line қийматини қабул қилиш}
Function GetCol: Word; {Col қийматини қабул қилиш}
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; {объект нусхасини эълон қилиш}
...
Begin
...
ObjPos_Var.Init(5,15); {объект учун бошланғич қийматлар бериш}
...
End;

Объектни эълон қилишда методларнинг сарлавхаларигина ёзилади. Процедура ва функциялар эълони программа эълон қисмининг бошқа бўлагида бўлиши мумкин. Объект майдонларига мурожаат ёзув (Record) майдонларига мурожаат билан бир хил («.» –нуқта ва With оператори орқали). Лекин объект берилганларига қуйидагича мурожаат ижобий баҳоланмайди.


ObjPos_Var.Line :5;
ObjPos_Var.Col :15;
Умуман, ОЙПда объект берилганларига мурожаат фақат методлар орқали амалга оширилади.
Объектларни эълон қилишда маълум бир талаблар бажарилиши керак:

  • объект тури асосий датурнинг (модулларининг) Type бўлимида эълон қилиниши мумкин. Қисм-програм­маларда локал объектларни эълон қилиш мумкин эмас;

  • объект турини аниқлашда берилганлар майдони методлар майдонидан олдин келиши керак;

  • объект компонентаси сифатида файл келиши мумкин эмас, ва аксинча файл “объект” туридаги компонентага эга бўлиши мумкин эмас.

ObjPos объекти орқали матн экранидаги бирорта белги ҳолати аниқланади. Энди белгини ўзини аниқловчи ва унинг устида маълум бир иш бажарувчи ObjSym объектини аниқлайлик.
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;

Агар бу объектнинг аниқланишига эътибор берадиган бўлсак, унда ObjPos объектидаги берилганлар ва Get_line, Get_Col функцияларидан фойдаланилган. Sym ва Print компоненталари янгидан қўшилган ва Init процедураси қайтадан ёзилган. Кўриниб турибдики, ObjSym объекти ObjPos объекти хусусиятларини ворислик қилиб олган. Умуман айтганда, ОЙПда ворислик–бу объектларнинг оддий тузилишдан мураккаб тузилишга томон объект хусусиятларини олиб ўтиши ва ривожланишидир.



Download 1,98 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   56




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish