Tuzilgan dasturlash va ob'ektga yo'n altirilgan dasturlash
Obyektga yoʻn altirilgan dasturlash (OOP) va Strukturaviy dasturlash ikkita dasturlash paradigmasidir. Dasturlash paradigmasi - bu kompyuter dasturlashning asosiy uslubi. Dasturlash paradigmalari dasturlarning har bir elementi qanday tasvirlanganligi va muammolarni hal qilish bosqichlari qanday aniqlanganligi bilan farqlanadi. Nomidan ko'rinib turibdiki, OOP asosiy e'tiborni real ob'ektlar va ularning xatti-harakatlaridan foydalangan holda muammolarni ko'rsatishga qaratadi, Strukturaviy dasturlash esa dasturni mantiqiy tuzilmada tartibga solish bilan shug'ullanadi.
Tuzilgan dasturlash nima?
Tuzilgan dasturlashning tug'ilgan yili 1970 yil deb taxmin qilinadi. Strukturaviy dasturlash imperativ dasturlashning kichik to'plami hisoblanadi. Strukturaviy dastur ierarxik tartibga solingan oddiy dastur oqimi tuzilmalaridan iborat. Ular ketma-ketlik, tanlash va takrorlashdir. Ketma-ketlik gaplar tartibidir. Tanlash dasturning joriy holatiga asoslangan bayonotlar to'plamidan bayonotni tanlashni anglatadi (masalan, if iboralaridan foydalanish), takrorlash esa ma'lum bir holatga kelgunga qadar (masalan, for yoki while dan foydalanish) bayonotni bajarishni anglatadi. ALGOL, Paskal, Ada va PL/I bugungi kunda qo'llaniladigan tuzilgan dasturlash tillaridir.
Obyektga yoʻn altirilgan dasturlash nima?
OOPda asosiy e'tibor hal qilinishi kerak bo'lgan muammoni real dunyo elementlari nuqtai nazaridan o'ylashga va muammoni ob'ektlar va ularning xatti-harakatlari nuqtai nazaridan ifodalashga qaratilgan. Sinflar real dunyo ob'ektlarining mavhum tasvirlarini tasvirlaydi. Sinflar o'xshash narsalarni yoki birgalikda guruhlanishi mumkin bo'lgan narsalarni to'playdigan rejalar yoki shablonlarga o'xshaydi. Sinflar atributlar deb ataladigan xususiyatlarga ega. Atributlar global va misol o'zgaruvchilari sifatida amalga oshiriladi. Sinflardagi usullar ushbu sinflarning xatti-harakatlarini ifodalaydi yoki belgilaydi. Sinflarning usullari va atributlari sinf a'zolari deb ataladi. Sinfning namunasi ob'ekt deb ataladi. Shunday qilib, ob'ekt haqiqiy dunyo ob'ektiga juda o'xshash ma'lumotlar strukturasidir.
Ma'lumotlarni abstraktsiyalash, inkapsulyatsiya, polimorfizm, xabar almashish, modullik va meros kabi bir nechta muhim OOP tushunchalari mavjud. Odatda, inkapsulyatsiya atributlarni shaxsiy qilish va shu atributlarga kirish uchun ishlatilishi mumkin bo'lgan umumiy usullarni yaratish orqali erishiladi. Meros foydalanuvchiga sinflarni (sub sinflar deb ataladi) boshqa sinflardan (super sinflar deb ataladi) kengaytirish imkonini beradi. Polimorfizm dasturchiga sinf ob'ektini super sinf ob'ekti o'rniga almashtirishga imkon beradi. Odatda, muammo ta'rifida topilgan otlar to'g'ridan-to'g'ri dasturda sinflarga aylanadi. Va shunga o'xshab, fe'llar usullarga aylanadi. Eng mashhur OOP tillaridan ba'zilari Java va C tillaridir.
Tuzilgan dasturlash va ob'ektga yo'n altirilgan dasturlash o'rtasidagi farq nima?
Strukturaviy dasturlash va OOP oʻrtasidagi asosiy farq shundan iboratki, Strukturaviy dasturlashning asosiy maqsadi dasturni quyi dasturlar ierarxiyasida tuzish, OOPning asosiy maqsadi esa dasturlash vazifasini oʻz ichiga olgan obyektlarga boʻlishdir. ma'lumotlar va usullar. OOP tizimli dasturlashdan ko'ra moslashuvchanroq hisoblanadi, chunki OOP dasturni ierarxiyaga emas, balki quyi tizimlar tarmog'iga ajratadi. Strukturalash ma'lum ravshanlikni ta'minlasa ham, juda katta tuzilgan dasturga kichik o'zgartirish kiritish bir nechta kichik dasturlarni o'zgartirishga to'g'ri keladigan to'lqinli effektga olib kelishi mumkin.