logo

Linux operatsion tizimida OMP texnologiyasining klassik texnologiyalardan olgan usul va mexanizmlari

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

46.091796875 KB
Linux operatsion tizimida OMP texnologiyasining klassik  texnologiyalardan olgan
usul va mexanizmlari  mavzusida tayyorlagan
Reja:
1.  Obyekt  va  uning   xossalari.
2.  OMPning asosiy   prinsiplari.
3.  Texnologiyaning   qulayliklari.
4 . Texnologiyaning qo’llash   bosqichlari. Obyektga   yo’naltirilgan   programmalash   (OYP)   zamonaviy   texnologiyalardan
bo’lib   uning   negizida   obyekt   (object)   tushunchasi   yotadi.   Shuning   uchun   bu
texnologiyani obyektga mo’ljallangan yoki ob’ektli texnologiya ham deydilar. Obyekt
bizga   programmalash   kursining   kirish   qismidan   ma’lum   bo’lgan   yozuv,   aralash   tip
(record)  tipiga o’xshashdir. Obyektga yozuvdan farqliroq nafaqat  ma’lumotlar, balki
ularni qayta ishlash uchun kerakli bo’lgan algoritmlar (qism programmalar) saqlanadi.
Ta’rif: Obyekt bu shunday strukturadirki uning komponentalarini turli tipli o’zaro
bog’liq ma’lumotlar va bu ma’lumotlarni ishlatadigan qismprogrammalar (protsedura
va funksiyalar) tashkil qiladi.
Obyektni   ma’lumotlarning   yangi   tipi   ham   deyishimiz   mumkin.Shu   asosida
Cumula   67   tilidan   boshlab   yangi     OYP   texnologiyasi   paydo   bo’ldi   va   keyinchalik
Pascal   va   C++   tillarini   rivojlantirdi.Texnologiyasi   strukturaga   va   modulli
programmalash texnologiyalariga suyanadi va ularni yanada kengaytiradi.
Obyekt   tushunchasiga   misol   qilib   “Kompyuter”ni   ham   olishimiz
mumkin.Kompyuter   alohida   qismlardan   (   protsessor,   monitor,   klaviatura   va
hokazokar)   iborat   bo’lib,xotira   hajmi,monitor   kuchlanishi,tezkorlik   va   hokazo
parametrlar bilan xarakterlanadi. Bular kompyuter haqidagi ma’limotlarni bir qismini
tashkil   qiladi.   Bundan   tashqari   kompyuter   turli   amallarni   bajaradi   yoki   uning   ustida
har xil amallar bajariladi, masalan, disklarni joylashtirish, ekranda figurani chiqarish,
hisoblashni   bajarish   va   hokazolarni   bajara   olamiz.   Ya’ni   “kompyuter”   obyekt
parametrlar va ular ustida bajariladigan amallar majmuassi hisoblanadi. Obyekt o’ziga
xos xususiyatlarni birlashtiradi va ularni qayta ishlaydi.
OMD texnologiyasi katta programmaviy ma’lumotlarni ishlab chiqishda quyidagi
qulayliklar beradi: Sohaning   oddiy   tabiiy   tushunchalarini   ishlatish   va   yangi   tushunchalarni   hosil
qilish   ;
Programma hajmini xossa   va   amallarni   ixchamlashtirish   asosida
kamaytirish,xotirani dinamik obyektlarni qo’llash natijasida tejash;
Obyektlar kutubxonasini yaratish, programmani o’zgartirishni   osonlashtirish;
Qism programmalarni turli to’plamli formal parametrlari bilan   qo’llash;
Obyekt   haqida   to’liq   ma’lumotni   bir   joyda   birlashtirish   va   programma   taxlashni
soddalashtirish;
Aytishimiz   kerakki   OYP   texnologiyasi   kamchiliklarga   ham   ega   va   qator
holatlarda   o’z   samaradorligini   ko’rsata   olmaydi.   Masalan,   agar   uning   virtual
metodlari   qo’llanilsa   programma   tezkorligi   pasayishi   mumkin.   Sodda   va   kichik
hajmga     ega   bo’lgan   programmalarda   bu   texnologiyani   ishlatish   maqsadga   muvofiq
emasdir.   OMPni   ishlatish   programmani   soddalashtirmaydi   ammo   programmani
yaratish texnologiyasini   osonlashtiradi.
Bizga   ma’lum   bo’lgan   TPas   yoki   BP   muhitlarda   OMP   ga   asoslangan   Turbo
Vision   kutubxona   (qism   programmalar   majmua)   si   bo’lib   ishlatiladi   va   muloqotli
(interaktiv)   programmalar   to’plamini   loyihalash   uchun   katta   qulayliklar   yaratib
beradi.
OYP texnologiyasi asosiy prinsiplari (xususiyatlari).
Texnologiyaning negizida uchta bosh tushunchalar yotadi.
Inkapsulyatsiya   (Qobiqlash).   Qobiqlash   ma’lumotlar   to’plamini   va   bu   to’plamni
qayta   ishlashga   mo’ljallangan   algoritmlarni   (qism   programmalarni   ya’ni   protsedura va   funksiyalarni)   birlashtiri sh   hisoblanadi .   Natijada   yangi   tip   obyekt   (object)   paydo
bo’ladi.   OMP   muhitida   ma’lumotlarni   obyekt   maydonlari   va   qism   programmalarni
obyekt metodlari deymiz.
Qulayliklari:
a)    Obyekt tashqi muhitdan mustaqil bo’ladi.
    b)   Ma’lumotlar va algoritmlari modintifatsiya qilish (o’zgartirish) osonlashadi.
    d)   Obyektlar kutubxonasini yaratishga qulay sharoitlar paydo    bo’ladi.
Vorislik   (Meroslik,   irsiylik   –   meros   olish).   Tayyor   obyektlar   yordamida   yangi
obyektlar ketma - ketligini yaratish hisoblanadi. Eski(bosh) obyektlarga ma’lumotlar
tasvirlanishi   va   ularni qayta ishlash metodlari yangi obyektlarga “merosiy” (otadan -
o’g’ilga   -   nevaraga)   o’tishidir.   Ya’ni   bosh   obyektdagi   maydonlar   va   metodlar
avtomatik   ravshda   “otadan”   “o’g’ilga”   o’tadi,   yangilari   bilan   kengaytiriladi   yoki
o’zgartiriladi.
Qulayliklar:
a)  Obyekt xususiyatlarini o’zgartirishni   osonlashtiradi.
b)     Masala   qo’yilishida   bosh   (ota)   ob’ektda   mujassamlangan
xususiyatlar   keyinchalik   yangi   (o’g’il)   ob’ektlarning   xususiyatlari   bilan
kengaytiriladi.
c)       Murakkab   programmani   qadam-qadam   ishlab   chiqish   sharoiti
paydo bo’ladi. Polimorfizm   (umumiylik,   o’rindoshlik).   Polimorfizm   deb   bitta   bosh   (ota)
obyektdan   paydo   bo’lgan   qarindosh   obyektlarning   o’xshash   muammolarni   turlicha
(o’ziga   xos)   usullar   yordamida   yechishga   aytiladi.   Boshqacha   qilib   aytganda,
tasvirlangan qismp rogrammalar obyektlar ketma - ketligida ta’sir kuchiga ega bo’lib,
har bir  keying pog’onada (bosqichda) turgan obyekt o’zi  ustida bu qism  programma
o’z ichida qo’llanilishi ham mumkin.
Qulayliklari:
a) Bosh   ob’ektdagi   metodlarda   mavjud   bo’lmagan   xususiyatlarni
key- ingi pog’onadagi ob’ektlarda hosil   qilish.
b)   Yangi ob’ektga bosh ob’ektdagi metod nomi bilan metodni e’lon
qi-  lib unda yangi xossalarni   kiritish.
c) Ikkita bir xil metod  va  turli xususiyatlarni   loyihalash.
d) Virtuallashtirish   (виртуализация),   ya’ni   nafaqat   yangi   (o’g’il)
ob’ekt   metodini   bosh   (ota)   ob’ekt   metodlariga   murojaat   qilinishini,   balki
teska risi   ham,   ya’ni   bosh   ob’ekt   metodlarini   yangi   ob’ekt   metodlariga
murojaat qilinishini tashkil   qilish.
Texnologiya   asoslarini   qo’llash   va   talablarini   qondirish   maqsadida   quyida
berilganmasalaning yechimining ketma-ketligini tahlil qilamiz.
Masala: Ekranda turli grafik obrazlarni (nuqta, aylana, kvadrat, chiziq) hosil qilib
ularni   harakatini   tashkil   qiluvchi   programma   tuzilsin:   Ekran   holatini   quyidagi
chizmada ko’rsatishimiz mumkin.      
      Programmada   obrazlarni   ko’chirishni   namoyish   etish   uchun   kursorni
boshqaruvchi   klavishalar:   Home,   End,   PgUp,   PgDn   -   dioganal   bo’yicha   harakat
uchun,   Tab   -   ko’chirish   kerak   bo’lgan   obrazni   tanlab   olish   uchun   va   Esc   -
programmadan   chiqish   uchun   ishlatiladi.   Obe’ktlarni   tashkil   qilish.   Bizga   ma’lum
programmalash   muhitlarida   obyektlarni   yaratish   uchun   uchta   maxsus   so’z:   object,
constructor, destructor va uchta standart direktivalar: private, public va virtual so’zlari
juda keng ishlatiladi.
Object   -   obyektni   tasvirlash   uchun   qo’llanib   tiplarni   aniqlash   bo’limida
joylashtiriladi.
Type MyObject = object
{ob’ekt maydonlari}
{ob’ekt metodlari} End;
Agar   ob’ekt   boshqa   bosh   (ota)   ob’ektdan   hosil   qilingan   bo’lsa,   u   holda   bosh
ob’ekt nomi object so’zidan keyin qavslarda ko’rsatiladi.
Type MysecondObject = Object(MyfirstObject)
{ ob’ekt maydonlari}
{ob’ekt metodlari} End;
Obyektlarni tasvirlashda (e’lon qilishda) quyidagilarga rioya qilish kerak.
Ixtiyoriy   obyekt   xohlagancha   avlodga   (farzandlarga)   va   faqat   bitta   bosh   (ota)
obyektga ega bo’lishi   mumkin; Obyekt   tipi   faqat   asosiy   programmaning   turlarini   tasvirlash   bo’limida   (type
bo’limida) yoki modullar bo’limlarida e’lon qilinishlari kerak. Qism programmalarda
(protsedura  va  funksiyalarda) obyektlarni tasvirlash mumkin emas;
Obyekt tipini tasvirlashda ma’lumotlar maydonlari metodlarni tasvirlashdan oldin
bo’lishi   kerak;
Obyekt   komponentalari   fayl   bo’lishi   mumkin   emas   va   o’z   navbatida   fayllar   “
obyekt ” tipidagi komponentalarni   saqlamaydi.
Masalani yechishga o’tsak, bosh (ota) ob’ektini TGraphObject bilan bel- gilaymiz.
Qobiqlash asosida boshqa ob’ektlar (o’g’illar) uchun umumiy bo’ladigan maydon va
metodlarni kiritamiz.
Type TgraphObj = object
Private {ob’ekt maydonlari foydalanuvchidan yashirilinadi} x, y: integer; {nuqta
koordinatasi}
color: word;{figura rangi}
public {ob’ekt metodlari foydalanuvchi uchun ochiq}
constructor Init(ax, ay: integer; aColor: word); {ob’ekt ekzemplyarini (nusxasini)
hosil qiladi}
procedure   Draw(aColor:   word);   virtual;   {ob’ektni   berilgan   aColor   rangi   bilan
chizadi}
procedure   Show;   {color   rangi   bilan   ob’ektni   ko’rsatadi}   procedure   Hide;   {fon
rangi bilan ob’ektni yashiradi}
procedure MoveTo (dx, dy: integer); {ob’ektni koordinatasi x+dx,
y+dy bo’lgan nuqtaga ko’chiradi }
end;       Keyinchalik   TgraphObj   –  dan   “o’g’il”   ob’ektlarni   hosil   qilib   nuqta,        chiziq,
to’rtburchak   va   aylananing   o’ziga   xos   xususiyatlarini   ko’rsatuvchi   xarakteristikala-
rini   tashkil   qilamiz.   Bu   grafik   obrazlarning   har   biri   ekrandagi   o’rni   (x   va   y
maydonlari)   va   rangi   bilan   (colour   maydoni)   xarakterlanadi.   Ular   Draw   metodi
yordamida ekranda akslantiriladi, Show metodi bilan “o’zini ko’rsatadi”, Hide metodi
bilan “yashirinadi” va MoveTo yordamida ekran bo’ylab harakat qiladi.
Private direktivasi yashirilgan (yopilgan ) maydon  va  metodlar seksiyasini ochadi.
Agar shu seksiyada programmalovchi TPU- modulidan   foydalangan   bo’lsa u holda
foydalangan   ob’ektlarning   elementlari   “ko’rmas”   shakliga   o’tadi.   Yuqoridagi
tasvirlashda   reper   (nishonli)   nuqta   hisoblanadigan   (x,   y)   ixtiyoriy   tarz-   da
o’zgartirilishi   mumkin   emas.   X   va   Y   qiymatlarini   o’zgartirish   uchun   ob’ekt   tar-
kibiga kiradigan Init  va  MoveTo metodlari   ishlatiladi.
Yashirilgan   (   ko’rmas   )   maydon   va   metodlar   ob’ekt   tasvirlangan   programmaviy
birliklarda   (programma   yoki   modul)   ochiq   deb   qabul   qilinadi.   Agar   biz   keyinchalik
GraphObj   modulini   yaratsak,   u   holda   yashirilgan   elementlar   faqat   shu   modulda
“ochiq” va bu modulni ishlatuvchi asosiy programmada “yopiq” deb hisoblanadi.
Aytib   o’tishimiz   kerakki,   oddiy   programmalarda   “yashiriladigan”   elementlarni
tashkil   qilish   shart   emas.   Shuning   uchun   yuqoridagi   tasvirlashda   Private…,   public
mexanizmlarni ishlatmasak quyidagi fragmentni hosil qilamiz.
Type TGraphObj=object
x, y: integer; color: word;
Constructor   Init(ax,   ay:   integer;   acolor:   word);   Procedure   Draw(acolor:   word):
virtual; Procedure Show;
Procedure Hide;
Procedure MoveTo(dx, dy:integer); End; Umuman   olganda,   maydonlar   oddiy   o’zgaruvchi   kabi   tasvirlanadi,   ixtiyoriy
ma’lumotlar   strukturasi   va   o’z   navbatida   boshqa   ob’ekt   ham   bo’lishi   mumkin.
Metodlar esa oddiy protsedura va funksiyalarni tasvirlashga o’xshaydi.
Obyekt - bu ma’lumotlar tipidir. Shuning uchun uni qandaydir “shablon” (qolib)
deb   qabul   qilib   uning   ekzimplyarlarini   (nusxalarini)   konstruktor   yordamida
aniqlashimiz   mumkin   hisoblanadi.   Bunday   nusxalar   xohlagancha   bo’lishi   mumkin.
Constructor   so’zi   procedure   so’zining   o’rnida   ishlatiladi.   Obyektda   virtual   metodlar
bo’lmasa,   u   holda   konstruktor   ishlatilmaydi.   Aksincha   agar   bitta   metod   virtual
tasvirlangan   bo’lsa,   u   holda   hech   bo’lmaganda   bitta   konstruktor   ham   tasvirlanadi.
Konstruktorga   murojaat   qilish   ixtiyoriy   virtual   metodga   murojaat   qilishdan   oldin
kelishi kerak.
Kostruktorning   asosiy   vazifasi   ob’ekt   maydonlarini   aniq   qiymatlar   bilan
to’ldirishdir. Bir obyektning har xil nusxalari (ekzimplyarlari) faqat qiymatlari bilan,
ya’ni   maydonlar   qiymatlari   bilan   farq   qiladi.   Keltirilgan   misolda   Init   konstruktori
nusxani  to’liq aniqlash uchun  ma’lumotlarni  ax, ay, acolor  parametrlari  orqali  qabul
qiladi.
Draw   protsedurasi   TGraphObj   ob’ektining   avlodlarida   turlicha   ishlatilib   har   xil
figuralarni   (   nuqta-   PutPixel,   chiziq-   Line   va   hokazo   )   tasvirlash   (chiqarish)   uchun
qo’llaniladi.
Obyektning   hamma   xususiyatlarini   tasvirlash   uchun   ob’ekt   metodlarini   ochib
berish,   ya’ni   protsedura   va   funksiyalarni   tasvirlash   kerak.   Tasvirlash   (protsedura   va
funksiya)   ob’ektni   tasvirlashdan   keyin   joylashtirilishi   talab   qilinadi.   Bu   qoidalarni
hisobga olib tasvirlashni davom ettiramiz va quyidagilarni hosil qilamiz.
Type TGraphObj=object
End;
Constructor TGraphObj.Init;
Begin x:=ax; y:=ay; color:=acolor; end; Procedure TGraphObj.Draw;
Begin;
{bu protsedura “o’g’il” ob’ektlarda ishlatiladi} End;
Procedure TGraphObj.Show; Begin Draw(Color)   end;
Procedure   TGraphObj.Hide;
Begin Draw(GetBKColor) end; Procedure TGraphObj.MoveTo;
Begin Hide; x:=x+dx; y:=y+dy; Show end;
Metodlarni   tasvirlash   jarayonida   Metod   nomidan   oldin   obyekt   nomi   qo’shiladi,
ya’ni   metodning   tarkibiy   (murakkab-kompozitsion)   nomi   hosil   bo’ladi.   Bunday
nomlanish   aniq   bir   protsedurani   nimaga   qarashli   ekanligini   bildiradi.   Obyekt
maydonlarini   protseduralarda   qayta   tasvirlash   mumkin   emas.   Masalan,   bunga   misol
qilib “fragment” olamiz.
Constructor TGraphObj.Init; Var
x, y: integer; color:word; {Xato!} Begin … end;
Ko’rinib turibdiki, abstrakt obyekt TGraphObj ekranga ma’lumot chiqarish uchun
ishlatilmayabdi.   Shuning   uchun   uning   metodi   Draw   bu   yerda   hech   qanday   ish
bajarmaydi. Ammo Hide, Show va MoveTo metodlari Draw metodiga murojaat qilib
ish bajaradi.
Ob’yektga mo‘ljallangan programmalash asoslari. C++ dasturlash tili 1980 yillar boshida Bjarne Stroustrup tomonidan C dasturlash
tiliga   asoslangan   holda   yaratildi.   C++   dasturlash   tili   juda   ko’p   qo’shimchalarni   o’z
ichiga   olgan   dasturlash   tilidir.   Bu   qo’shimchalarning   eng   asosiysi   ob’ektlar   bilan
ishlash   olish   imkoniyatidir.     Dasturlarni   tez   va   sifatli   yozish   hozirgi   kunda   katta
ahamiyat   kasb   etmoqda.   Buni   ta’minlash   uchun   ob’ektli   dasturlash   g’oyasi   ilgari
surildi.   C++   dasturlash   tili   esa   gibrid   tildir.   Unda   С   dasturlash   tiliga   o’xshab
strukturali   dasturlash   yoki   yangicha,   ob’ektlar   bilan   dasturlash   mumkin.   C++
dasturlash   tili   funksiya   va   ob’ektlarning   juda   boy   kutubxonalariga   ega.   Ya’ni   C++
dasturlash   tilida   dasturlashni   o’rganish   ikki   qismga   bo’linadi.   Birinchisi   bu   C++
dasturlash   tilini   o’zini   o’rganish,   ikkinchisi   esa   C++   da   tilining   standart
kutubxonasidagi tayyor obyekt va funksiyalarini qo’llashni o’rganishdir.  
2.Ob’yekt va class tushunchasi.
Sinf (class)   - bu   Borland C++ da   maxsus turlar bo’lib, o’zida maydon, usullar va
xossalarni   mujassamlashtiradi. Sinf -Yangi   tip  sinfni   e’lon   qilish   bilan  tuziladi.   Sinf   -
bu bir – biri bilan funktsional orqali bog’langan o’zgaruvchilar va usullar to’plamidir
Sinf   murakkab   struktura   bo’lib,   ma’lumotlar   ta’riflaridan   tashqari,   prosedura   va
funksiyalar   ta’riflarini   o’z   ichiga   oladi.Obyekt   -   bu   sinfning   real   nusxasi   bo’lib,
ma’lumotlar   va   funksiyalardan   tashkil   topadi.   U   dasturning   o’zgaruvchilarni   e’lon
qilish   bo’limida   hosil   qilinadi.   Obektga   mo'ljallangan   yondashuv,   obyektga
mo'ljallangan   dasturlashning   asosiy   tayanch   iboralari   bu   obyekt,   xabar,
aloqadir.Obektlar   o'rtasidagi   aloqa   obyektga   mo'ljallangan   dasturlashning   muhim
tarkibiy qismidir. Obyektlar bir biri bn 2 xil usulda aloqa urnatadi. 1-si: xabar junatish
orqali va 2-si: agregatsiya yordamida jamlanadi. 
3.Class metodlari va maydonlari.
Sinf   (class)   —   аtributlаri,   оpеrаtsiyalаri,   munоsаbаtlаri   vа   mа’nоlаri   umumiy
bo‘lgаn   obyеktlаr   mаjmuining   tаvsifi.   Grаfik   jihаtdаn   sinf   to‘g‘ri   to‘rtburchаk
ko‘rinishidа   ifоdаlаnib,   undа   ushbu   sinfning   nоmi,   аtributlаri   vа   оpеrаtsiyalаri yozilgаn bo‘lаdi. Sinf jismоniy mоhiyatgа egа emаs, tuzilmаning e’lоn qilinishi uning
eng yaqin аnаlоgiyasidir. Sinf obyеktni yarаtish uchun qo‘llаngаndаginа хоtirа аjrаlib
chiqаdi. Bu jаrаyon hаm sinf nusxаsi (class instance) ni yarаtish dеb аtаlаdi.
4.O’zgaruvchilarni ko’rinish sohalari.
Har   bir   nom   va   har   bir   o’zgaruvchi   ular   ustida   bajariluvchi   amallar   aniqlovchi
turlarga   ega   bo’ladi.   Masalan,   int   i;   tavsiflash   i   o’zgaruvchi   int   turiga   tegishli,
ya’ni   i   butun   o’zgaruvchi   deb   aniqlaydi.   Tavsiflash   -   dasturga   nom   kirituvchi
buyruqdir. Tavsiflash o’zgaruvchining turini aniqlaydi. Tur nom va ifodalardan
to’g’ri   foydalanishni   aniqlaydi.   Butun   tur   uchun   quyidagi   amallar   aniqlangan:
+ ,   -,   *   va   /.   Asosiy   turlar   -   char;   short;   int;   long;   float;   double.   Birinchi   to’rtta   tur
butun   kattaliklarni,   oxirgi   ikkitasi   suzuvchi   nuqtali,   ya’ni   kasr   sonlarni   tasvirlash
uchun   ishlatiladi.   char   turidagi   o’zgaruvchi   mazkur   kompyuterda   belgilarni   odatda
bayt   saqlash   o’lchoviga   ega,   int   turidagi   o’zgaruvchi   esa   mazkur   kompyuterdagi
butun   arifmetikaga   mos   o’lchovga   ega   odatda   so’z.   Turlar   bilan   tasvirlangan   butun
sonlar   diapazoni   uning   o’lchoviga   bog’liq   bo’ladi   uni   sizeof   buyrug’i   yordamida
hisoblash mumkin.
5. Ob’yektga mo‘ljallangan programmalashning asosiy prinsiplari. Abstraksiya
Samarali inkapsulyalash - sinchkovlik bilan ishlab chiqish hamda abstraktsiya va
tajribadan   foydalanish   natijasi.   Inkapsulyalashdan   samarali   foydalanish   uchun
dasturni   ishlab   chiqishda   avval   abstraktsiyadan   va   uning   bilan   bog‘liq
kontsyeptsiyalardan   foydalanishni   o‘rganib   olish   lozim.Abastraktsiya   murakkab
masalani   soddalashtirish   jarayonidir.   Muayyan   masalani   yechishga   kirishar   ekansiz,
siz   barcha   dyetallarni   hisobga   olishga   urinmaysiz,   balki   yechimni
osonlashtiradiganlarini   tanlab   olasiz.Abstraktsiyaning   ikkita   afzal   jihati   masala
yechimini soddalashtiradi. Dasturiy ta’minot komponyentlaridan takroran foydalanish
imkoniyatini   yaratadi.   Abstraktsiya   bitta   masala   yechimidan   ushbu   sohadagi   boshqa
masalalarni ham yechishda foydalanish imkonini byeradi. 6. Ob’yektga   mo‘ljallangan   programmalashning   asosiy   prinsiplari.
Inkapsulasiya. Inkapsulyalashdan   to‘g‘ri   foydalanish   tufayli   ob’yektlar   bilan
o‘zgartiriladigan   komponyentlar   (tarkibiy   qismlar)   dek   muomala   qilish   mumkin.
Inkapsulyalash   tufayli,   ob’yektda   boshqa   ob’yektlar   uchun   ko‘rinmas   bo‘lgan
o‘zgarishlarni   amalga   oshirish   mumkin.   Agar   intyerfyeys   o‘zgartirilmasa,   barcha
o‘zgarishlar ob’yektdan foydalanayotganlar uchun ko‘rinmas bo‘ladi. Inkapsulyalash
komponyentni   yaxshilash,   amalga   oshirish   samaradorligini   ta’minlash,   xatolarni
bartaraf   etish   imkonini   byeradi,   yana   bularning   hammasi   dasturning   boshqa
ob’yektlariga   ta’sir   ko‘rsatmaydi.   Ob’yektdan   foydalanuvchilar   ularda   amalga
oshirilayotgan   barcha   o‘zgarishlardan   avtomatik   tarzda   yutadilar.   Inkapsulyalash
yordamida   modulli   dasturlarni   yaratish   mumkin.   Samarali   inkapsulyalashning   uchta
o‘ziga   xos   byelgisi   qo‘yidagicha:-abstraktsiya;   -joriy   qilishning   byerkitilganligi;   -
mas’uliyatning bo‘linganligi.
7.Ob’yektga mo‘ljallangan programmalashning asosiy prinsiplari. Vorislik.
Vorislik mavjud bo‘lgan sinfning ta’rifi asosidayoq yangi sinfni yaratish imkonini
byeradi.   Yangi   sinf   boshqasi   asosida   yaratilgach,   uning   ta’rifi   avtomatik   tarzda
mavjud  sinfning  barcha   xususiyatlari,  xulq-atvori  va   joriy  qilinishiga  vorislik  qiladi.
Avval   mavjud   bo‘lgan   sinf   intyerfyeysining   barcha   myetodlari   va   xususiyatlari
avtomatik   tarzda   voris   intyerfyeysida   paydo   bo‘ladi.   Vorislik   voris   sinfida   biron-bir
jihatdan   to‘g‘ri   kyelmagan   xulq-atvorni   avvaldan   ko‘ra   bilish   imkonini   byeradi.
Bunday foydali  xususiyat  dasturiy ta’minotni  talablarning o‘zgarishiga moslashtirish
imkonini   byeradi.   Agar   o‘zgartirishlar   kiritishga   ehtiyoj   tug‘ilsa,   bu   holda   eski   sinf
funktsiyalariga   vorislik   qiluvchi   yangi   sinf   yozib   qo‘ya   qolinadi.   Kyeyin
o‘zgartirilishi   lozim   bo‘lgan   funktsiyalarga   qaytadan   ta’rif   byeriladi   hamda   yangi
funktsiyalar qo‘shiladi. Bunday o‘rniga o‘rin qo‘yishning mazmuni shundan iboratki,
u   dastlabki   sinf   ta’rifini   o‘zgartirmay   turib,   ob’yekt   ishini   o‘zgartirish   imkonini
byeradi.   Agar   biz   ko‘p   martalab   qo‘llash   yoki   boshqa   biron   maqsadlarga   ko‘ra vorislikni   qo‘llamoqchi   bo’lsak,   avval   har   gal   myerosxo‘r-sinf   bilan   vorislikni
berayotgan sinfning turlari o‘zaro mos kyeladimi shuni tekshirish kk. 
8.Ob’yektga   mo‘ljallangan   programmalashning   asosiy   prinsiplari.   Polimorfizm.
Polimorfizm   shunday   holatki,   bunda   qandaydir   bitta   narsa   ko‘p   shakllarga   ega
bo‘ladi.   Dasturlash   tilida   «ko‘p   shakllar»   dyeyilganda,   bitta   nom   avtomatik
myexanizm   tomonidan   tanlab   olingan   turli   kodlarning   nomidan   ish   ko‘rishi
tushuniladi.   Shunday   qilib,   polimorfizm   yordamida   bitta   nom   turli   xulq-atvorni
bildirishi   mumkin. Vorislik   polimorfizmning   ayrim   turlaridan   foydalanish   uchun
zarurdir.   Aynan   o‘rindoshlik   imkoniyati   mavjud   bo‘lgani   uchun,   polimorfizmdan
foydalanish  mumkin bo‘ladi. Polimorfizm  yordamida tizimga to‘g‘ri  kyelgan  paytda
qo‘shimcha   funktsiyalarni   qo‘shish   mumkin.   Dasturni   yozish   paytida   hatto   tahmin
qilinmagan   funktsionallik   bilan   yangi   sinflarni   qo‘shish   mumkin,   buning   ustiga
bularning   hammasini   dastlabki   dasturni   o‘zgartirmay   turib   ham   amalga   oshirish
mumkin.   Yangi   talablarga   osongina   moslasha   oladigan   dasturiy   vosita   dyeganda,
mana shular tushuniladi.
Polimorfizmning uchta asosiy turi mavjud:-Qo‘shilish polimorfizmi ;  -Paramyetrik
polimorfizm ; -Ortiqcha yuklanish.

Linux operatsion tizimida OMP texnologiyasining klassik texnologiyalardan olgan usul va mexanizmlari mavzusida tayyorlagan Reja: 1. Obyekt va uning xossalari. 2. OMPning asosiy prinsiplari. 3. Texnologiyaning qulayliklari. 4 . Texnologiyaning qo’llash bosqichlari.

Obyektga yo’naltirilgan programmalash (OYP) zamonaviy texnologiyalardan bo’lib uning negizida obyekt (object) tushunchasi yotadi. Shuning uchun bu texnologiyani obyektga mo’ljallangan yoki ob’ektli texnologiya ham deydilar. Obyekt bizga programmalash kursining kirish qismidan ma’lum bo’lgan yozuv, aralash tip (record) tipiga o’xshashdir. Obyektga yozuvdan farqliroq nafaqat ma’lumotlar, balki ularni qayta ishlash uchun kerakli bo’lgan algoritmlar (qism programmalar) saqlanadi. Ta’rif: Obyekt bu shunday strukturadirki uning komponentalarini turli tipli o’zaro bog’liq ma’lumotlar va bu ma’lumotlarni ishlatadigan qismprogrammalar (protsedura va funksiyalar) tashkil qiladi. Obyektni ma’lumotlarning yangi tipi ham deyishimiz mumkin.Shu asosida Cumula 67 tilidan boshlab yangi OYP texnologiyasi paydo bo’ldi va keyinchalik Pascal va C++ tillarini rivojlantirdi.Texnologiyasi strukturaga va modulli programmalash texnologiyalariga suyanadi va ularni yanada kengaytiradi. Obyekt tushunchasiga misol qilib “Kompyuter”ni ham olishimiz mumkin.Kompyuter alohida qismlardan ( protsessor, monitor, klaviatura va hokazokar) iborat bo’lib,xotira hajmi,monitor kuchlanishi,tezkorlik va hokazo parametrlar bilan xarakterlanadi. Bular kompyuter haqidagi ma’limotlarni bir qismini tashkil qiladi. Bundan tashqari kompyuter turli amallarni bajaradi yoki uning ustida har xil amallar bajariladi, masalan, disklarni joylashtirish, ekranda figurani chiqarish, hisoblashni bajarish va hokazolarni bajara olamiz. Ya’ni “kompyuter” obyekt parametrlar va ular ustida bajariladigan amallar majmuassi hisoblanadi. Obyekt o’ziga xos xususiyatlarni birlashtiradi va ularni qayta ishlaydi. OMD texnologiyasi katta programmaviy ma’lumotlarni ishlab chiqishda quyidagi qulayliklar beradi:

Sohaning oddiy tabiiy tushunchalarini ishlatish va yangi tushunchalarni hosil qilish ; Programma hajmini xossa va amallarni ixchamlashtirish asosida kamaytirish,xotirani dinamik obyektlarni qo’llash natijasida tejash; Obyektlar kutubxonasini yaratish, programmani o’zgartirishni osonlashtirish; Qism programmalarni turli to’plamli formal parametrlari bilan qo’llash; Obyekt haqida to’liq ma’lumotni bir joyda birlashtirish va programma taxlashni soddalashtirish; Aytishimiz kerakki OYP texnologiyasi kamchiliklarga ham ega va qator holatlarda o’z samaradorligini ko’rsata olmaydi. Masalan, agar uning virtual metodlari qo’llanilsa programma tezkorligi pasayishi mumkin. Sodda va kichik hajmga ega bo’lgan programmalarda bu texnologiyani ishlatish maqsadga muvofiq emasdir. OMPni ishlatish programmani soddalashtirmaydi ammo programmani yaratish texnologiyasini osonlashtiradi. Bizga ma’lum bo’lgan TPas yoki BP muhitlarda OMP ga asoslangan Turbo Vision kutubxona (qism programmalar majmua) si bo’lib ishlatiladi va muloqotli (interaktiv) programmalar to’plamini loyihalash uchun katta qulayliklar yaratib beradi. OYP texnologiyasi asosiy prinsiplari (xususiyatlari). Texnologiyaning negizida uchta bosh tushunchalar yotadi. Inkapsulyatsiya (Qobiqlash). Qobiqlash ma’lumotlar to’plamini va bu to’plamni qayta ishlashga mo’ljallangan algoritmlarni (qism programmalarni ya’ni protsedura

va funksiyalarni) birlashtiri sh hisoblanadi . Natijada yangi tip obyekt (object) paydo bo’ladi. OMP muhitida ma’lumotlarni obyekt maydonlari va qism programmalarni obyekt metodlari deymiz. Qulayliklari: a) Obyekt tashqi muhitdan mustaqil bo’ladi. b) Ma’lumotlar va algoritmlari modintifatsiya qilish (o’zgartirish) osonlashadi. d) Obyektlar kutubxonasini yaratishga qulay sharoitlar paydo bo’ladi. Vorislik (Meroslik, irsiylik – meros olish). Tayyor obyektlar yordamida yangi obyektlar ketma - ketligini yaratish hisoblanadi. Eski(bosh) obyektlarga ma’lumotlar tasvirlanishi va ularni qayta ishlash metodlari yangi obyektlarga “merosiy” (otadan - o’g’ilga - nevaraga) o’tishidir. Ya’ni bosh obyektdagi maydonlar va metodlar avtomatik ravshda “otadan” “o’g’ilga” o’tadi, yangilari bilan kengaytiriladi yoki o’zgartiriladi. Qulayliklar: a) Obyekt xususiyatlarini o’zgartirishni osonlashtiradi. b) Masala qo’yilishida bosh (ota) ob’ektda mujassamlangan xususiyatlar keyinchalik yangi (o’g’il) ob’ektlarning xususiyatlari bilan kengaytiriladi. c) Murakkab programmani qadam-qadam ishlab chiqish sharoiti paydo bo’ladi.

Polimorfizm (umumiylik, o’rindoshlik). Polimorfizm deb bitta bosh (ota) obyektdan paydo bo’lgan qarindosh obyektlarning o’xshash muammolarni turlicha (o’ziga xos) usullar yordamida yechishga aytiladi. Boshqacha qilib aytganda, tasvirlangan qismp rogrammalar obyektlar ketma - ketligida ta’sir kuchiga ega bo’lib, har bir keying pog’onada (bosqichda) turgan obyekt o’zi ustida bu qism programma o’z ichida qo’llanilishi ham mumkin. Qulayliklari: a) Bosh ob’ektdagi metodlarda mavjud bo’lmagan xususiyatlarni key- ingi pog’onadagi ob’ektlarda hosil qilish. b) Yangi ob’ektga bosh ob’ektdagi metod nomi bilan metodni e’lon qi- lib unda yangi xossalarni kiritish. c) Ikkita bir xil metod va turli xususiyatlarni loyihalash. d) Virtuallashtirish (виртуализация), ya’ni nafaqat yangi (o’g’il) ob’ekt metodini bosh (ota) ob’ekt metodlariga murojaat qilinishini, balki teska risi ham, ya’ni bosh ob’ekt metodlarini yangi ob’ekt metodlariga murojaat qilinishini tashkil qilish. Texnologiya asoslarini qo’llash va talablarini qondirish maqsadida quyida berilganmasalaning yechimining ketma-ketligini tahlil qilamiz. Masala: Ekranda turli grafik obrazlarni (nuqta, aylana, kvadrat, chiziq) hosil qilib ularni harakatini tashkil qiluvchi programma tuzilsin: Ekran holatini quyidagi chizmada ko’rsatishimiz mumkin.