Algoritmni loyihalash va tahlil qilishga kirish


Ob'ektga yo'naltirilgan algoritmik loyihalash


Download 110.63 Kb.
bet6/12
Sana16.01.2023
Hajmi110.63 Kb.
#1095305
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
Algoritmni loyihalash va tahlil qilishga kirish

6. Ob'ektga yo'naltirilgan algoritmik loyihalash
Reja:
1. Ob'ektga yo'naltirilgan dasturlash.
2. Sinf va ob'ekt tushunchasi
OOP protsessual dasturlash mafkurasining rivojlanishi natijasida vujudga keldi, bu erda ma'lumotlar va ularni qayta ishlashning kichik dasturlari (protseduralari, funktsiyalari) rasmiy ravishda bog'liq emas. Ob'ektga yo'naltirilgan dasturlashni yanada rivojlantirish uchun hodisa (hodisaga yo'naltirilgan dasturlash deb ataladigan) va tarkibiy qism (komponentli dasturlash, COP) tushunchalari ko'pincha katta ahamiyatga ega. OOP-dan CPC shakllanishi, protsessual dasturlashdan modul shakllanishi kabi sodir bo'ldi: protseduralar modullarga - kodning mustaqil qismlariga dastur yig'ish darajasiga qadar shakllantirildi, shuning uchun ob'ektlar tarkibiy qismlarga - kodning mustaqil qismlariga dasturning bajarilish darajasiga qadar shakllantirildi.
Ob'ektlarning o'zaro ta'siri xabarlar orqali sodir bo'ladi. OOPni yanada rivojlantirish natijasi, aftidan agentlarga yo'naltirilgan dasturlash bo'ladi, bu erda agentlar ijro darajasida kodning mustaqil qismlari. Agentlarning o'zaro ta'siri ular joylashgan muhitni o'zgartirish orqali sodir bo'ladi.
Strukturaviy ravishda ob'ektlar bilan bevosita bog'liq bo'lmagan, lekin ularni xavfsizligi (istisnolar, tekshirishlar) va samarali ishlashi uchun hamroh bo'ladigan til konstruktsiyalari ulardan aspektlarga (aspektga yo'naltirilgan dasturlashda) joylashtirilgan. Mavzularga yo'naltirilgan dasturlash ob'ektlarning yanada yaxlit va mustaqil o'zaro ta'sirini ta'minlash orqali ob'ekt kontseptsiyasini kengaytiradi. Bu OOP va agentlarga asoslangan dasturlash o'rtasidagi o'zaro bog'liqlik nuqtai nazaridan o'tish davri bo'lishi mumkin.
Ob'ektga yo'naltirish tamoyillari taklif qilingan birinchi dasturlash tili Simula edi. O'zining paydo bo'lishi paytida (1967 yilda) ushbu dasturlash tili chinakam inqilobiy g'oyalarni taklif qildi: ob'ektlar, sinflar, virtual usullar va boshqalar, ammo bularning barchasi zamondoshlar tomonidan ulug'vor narsa sifatida qabul qilinmagan. Biroq, kontseptsiyalarning aksariyati Alant Kaymi Dan Ingolz tomonidan Smalltalkda ishlab chiqilgan. Aynan u birinchi keng tarqalgan ob'ektga yo'naltirilgan dasturlash tiliga aylandi.
Hozirgi vaqtda ob'ektga yo'naltirilgan paradigmani amalga oshiradigan amaliy dasturlash tillari soni (tillar ro'yxati) boshqa paradigmalarga nisbatan eng kattadir. Tizimli dasturlash sohasida hanuzgacha protsessual dasturlash paradigmasi qo'llanilmoqda va umuman qabul qilingan dasturlash tili C tili hisoblanadi, garchi ob'ektga yo'naltirilgan dasturlash tillari tizimning o'zaro ta'sirida va operatsion tizimlarning dastur darajalarida sezilarli ta'sir o'tkaza boshlagan bo'lsa ham. Masalan, eng keng tarqalgan ko'p platformali dasturlash kutubxonalaridan biri bu C ++ da yozilgan Qt ob'ektga yo'naltirilgan kutubxonasidir.
Asosiy tushunchalar.
Abstraktsiya
Abstraktlik - bu ahamiyatsiz xususiyatlarni ko'rib chiqishdan tashqari, ob'ektning muhim xususiyatlari to'plamini ajratib ko'rsatish usuli. Shunga ko'ra, abstraktsiya bu kabi barcha xususiyatlarning to'plamidir.
Enkapsulyatsiya - bu tizimning xususiyati, bu sinfda ular bilan ishlaydigan ma'lumotlar va usullarni birlashtirishga va foydalanuvchidan dastur tafsilotlarini yashirishga imkon beradi.
Merosxo'rlik - bu mavjud bo'lgan sinf asosida qisman yoki to'liq qarzga ega bo'lgan yangi sinfni tavsiflashga imkon beradigan tizimning xususiyati. Meros qilib olingan sinf asosiy, ota-ona yoki o'ta sinf deb nomlanadi. Yangi sinf avlod, merosxo'r yoki kelib chiqqan sinfdir.
Polimorfizm - bu ob'ektning turi va ichki tuzilishi haqida ma'lumotisiz bir xil interfeysli ob'ektlardan foydalanish tizimining xususiyati.
Sinf - manba kodining terminologiyasi (ism maydoni) tilida tasvirlangan hali mavjud bo'lmagan mavjudot (ob'ekt) modeli. Darhaqiqat, u rasmning bir turi bo'lib, ob'ektning tuzilishini tasvirlaydi. Ob'ekt sinfning namunasi deb aytiladi. Bundan tashqari, ba'zi bir ish vaqti tizimlarida, shuningdek, ma'lumotlar turini dinamik ravishda aniqlash orqali dasturni bajarish paytida sinf ba'zi bir ob'ekt bilan ifodalanishi mumkin. Odatda, sinflar domendagi moslamalarni moslashtirishga mo'ljallangan.
Hisoblash tizimining manzil maydonidagi mavjudot,
sinfni boshlash yoki nusxalash paytida paydo bo'lish
prototip (masalan, natijalarni ishga tushirgandan so'ng
bajarish uchun manba kodini tuzish va bog'lash).
Prototip - bu namunaviy ob'ekt bo'lib, uning tasvirida va o'xshashligida boshqa narsalar yaratiladi. Nusxa olingan ob'ektlar protetibdagi o'zgarishlarni avtomatik ravishda meros qilib olib, ota-ona bilan munosabatlarni saqlab turishi mumkin; bu xususiyat ma'lum bir til doirasida aniqlanadi.
OOP ta'rifi va asosiy tushunchalar
OOP markazida ob'ekt tushunchasi joylashgan. Ob'ekt - bu xabarlar yuborilishi mumkin bo'lgan va uning ma'lumotlari yordamida ularga javob beradigan ob'ekt. Ob'ekt - bu sinfning namunasi. Ob'ekt ma'lumotlari dasturning qolgan qismidan yashiringan. Ma'lumotlarni yashirish inkapsulyatsiya deb ataladi.
Enkapsulatsiya dasturlash tili ob'ektga yo'naltirilgan bo'lishi uchun etarli, ammo bu uning ob'ektga yo'naltirilganligini anglatmaydi - bu merosni talab qiladi.
Ammo inkapsulyatsiya va merosxo'rlikning mavjudligi ham dasturlash tilini OOP nuqtai nazaridan to'liq ob'ektiv qilmaydi. OOPning asosiy afzalliklari faqat polimorfizm dasturlash tilida amalga oshirilganda paydo bo'ladi; ya'ni bir xil spetsifikatsiyaga ega bo'lgan ob'ektlar turli xil dasturlarga ega bo'lishlari mumkin.
O'z-o'zini tili, ob'ektga yo'naltirilgan dasturlashning ko'plab dastlabki qoidalariga rioya qilgan holda, prototipli dasturlash uchun asos yaratib, ob'ektlarni dasturlashning pastki turi deb hisoblanadigan sinflarga prototip muqobil tushunchasini kiritdi.


Download 110.63 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




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