C++ 

C++ tili obyektga mo’ljallangan dasturlash prinsiplarini qo’llab quvvatlaydi. Bu prinsiplar quyidagilardir:

  •  Inkapsulyasiya
  •  Merosxo’rlik
  •  Polimorfizm

Inkapsulyasiya. Agarda muhandis ishlab chiqarish jarayonida rezistorni qo’llasa, u buni yangidan ixtiro qilmaydi,  omborga (magazinga) borib mos parametrlarga muvofiq kerakli detalni tanlaydi. Bu holda muhandis joriy rezistor qanday  tuzilganligiga e’tiborini qaratmaydi, rezistor faqatgina zavod xarakteristikalariga muvofiq ishlasa yetarlidir. Aynan shu tashqi konstruksiyada qo’llaniladigan yashirinlik yoki obyektni yashirinligi yoki avtonomligi xossasi inkapsulyasiya deyiladi.

Inkapsulyasiya yordamida berilganlarni yashirish ta’minlanadi. Bu juda yaxshi xarakteristika bo’lib foydalanuvchi o’zi ishlatayotgan obyektning ichki ishlari haqida umuman  o’ylamaydi. Haqiqatan ham, xolodilnikni ishlatishda refrijektorni ishlash prinsipini bilish shart emas. Yaxshi ishlab chiqilgan dastur obyektini qo’llashda uning ichki o’zgaruvchilarining o’zaro munosabati haqida qayg’urish zarur emas.

Yana bir marta takrorlash joizki, rezistorni samarali qo’llash uchun uning ishlash prinsipi va ichki qurilmalari haqidagi ma’lumotlarni  bilish umuman shart emas. Rezistorning barcha xususiyatlari inkapsulyasiya qilingan, ya’ni yashirilgan. Rezistor faqatgina o’z funksiyasini bajarishi yetarlidir.

S++ tilida inkapsulyasiya prinsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) hosil qilish orqali himoya qilinadi.

Sinflar qanday tuzilishga ega ekanligi bilan keyinroq tanishib chiqamiz.

To’g’ri aniqlangan sinf obyektini butun dasturiy modul sifatida ishlatish mumkin. Haqiqiy sinfning barcha ichki ishlari yashirin bo’lishi lozim. To’g’ri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar yetarlidir.

 Merosxo’rlik. Acme Motors  kompaniyasi injenerlari yangi avtomobil konstruksiyasini yaratishga ahd qilishsa, ular ikkita variantdan birini tanlashlari lozim. Birinchisi, avtomobilning konstruksiyasini boshidan boshlab yangidan ixtiro qilish, ikkinchisi esa mavjud Star modelini o’zgartirishdir. Star modeli qariyb ideal, faqatgina unga turbokompressor va olti tezlanishli uzatma qo’shish lozim. Bosh muhandisikkinchi variantni tanladi. Ya’ni noldan boshlab qurishni emas, balki Star avtomobiliga ozgina o’zgartirish qilish orqali yaratishni tanladi. Uni yangi imkoniyatlar bilan rivojlantirmoqchi bo’ldi. Shuning uchun, yangi modelni Quasar  deb nomlashni taklif qildi.   Quasar-Star modeliga yangi detallarni qo’shish orqali yaratilgan.

S++ tili ham shunday merosxo’rlikni himoya qiladi. Bu  yangi berilganlar tipi (sinf),  oldindan mavjud bo’lgan sinfni kengaytirishdan hosil bo’ladi. Bunda yangi sinf oldingi sinfning merosxo’ri deb ataladi.

Polimorfizm. Akselatorni bosilishida Star modeliga nisbatan yangi yaratilgan Quasar modelida boshqacharoq amallar bajarilishi mumkin. Quasar modelida dvigatelga yoqilg’ini sepuvchi injektor sistemasi va Star  modelidagi korbyurator o’rniga turbokompressor o’rnatilgan bo’lishi mumkin. Lekin foydalanuvchi bu  farqlarni bilishi shart emas. U rulga o’tirgach oddiygina akselatorni bosadi va avtomobilning mos reaksiyasini kutadi.

S++ tili bir xil nomdagi funksiya turli obyekt tomonidan ishlatilganda turli amallarni bajarishi imkoniyatini ta’minlaydi. Bu funksiya va sinfning polimorfligi deb nomlanadi. Poliko’p, morfe – shakl  degan ma’noni anglatadi. Polimorfizm – bu shaklning ko’p xilligidir. Bu tushunchalar bilan keyinchalik batafsil tanishamiz.

  ANSI standarti

Amerika milliy standartlar instituti (American National Standards Institute – ANSI) rahbarligi ostidagi Ctandartlarni akkreditivlash komiteti (Accredited Standards Committee) S++ tilining xalqaro standartini tuzdi.

S++ standarti ayni vaqtda ISO – International Standards Organization (Ctandartlash bo’yicha halqaro tashkilot) standarti deb ham nomlanadi.

News Reporter

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *