Mundarija[Yashirish][Show]
- 1. Obyektga yo'naltirilgan dasturlash aynan nima?
- 2. Nima uchun OOP kerak?
- 3. OOPS tamoyillari qanday afzalliklarni beradi?
- 4. OOP kontseptsiyasining ustunlari nimalardan iborat?
- 5. Sinf degani aynan nima?
- 6. Ob'ekt aynan nima?
- 7. OOP cheklovlari qanday?
- 8. Meros nima?
- 9. Inkapsulyatsiya aniq nima?
- 10. Polimorfizm nima?
- 11. Abstraksiya aynan nima?
- 12. Usulni ortiqcha yuklash aynan nima?
- 13. Usulning ustunligi aynan nima?
- 14. Yuqori sinf aniq nima?
- 15. Kichik sinf aniq nima?
- 16. Statik polimorfizm aynan nima?
- 17. Dinamik polimorfizm aynan nima?
- 18. Konstruktor tushunchasiga ta’rif bering.
- 19. Kirish modifikatorlari aynan nimalardan iborat?
- 20. Destruktor aynan nima?
- 21. Gibrid meros aynan nima?
- 22. Ierarxik meros deganda aniq nima tushuniladi?
- 23. Merosning qanday kamchiliklari bor?
- 24. Istisno aniq nima?
- 25. Istisnolarni hal qilish aynan nima va uning qanday afzalliklari bor?
- 26. Virtual funksiyalar nimalardan iborat?
- 27. Do'st vazifasi aynan nima?
- 28. Garbage Collection aynan nima?
- 29. Ulanish aniq nima?
- 30. Kogeziya aniq nima?
- 31. try/catch blokini tavsiflang.
- 32. Yakuniy blokni tavsiflang.
- 33. Interfeys aynan nima?
- 34. Kompozitsiya aynan nima?
- 35. Konstruktor zanjiri aynan nima?
- Xulosa
Eng ta'sirli dasturlash paradigmalaridan biri OOPs yoki ob'ektga yo'naltirilgan dasturlash deb ataladi. Funktsiyalar va jarayonlar o'rniga u sinflar va ob'ektlarni ta'kidlaydi.
Uning asosiy maqsadi ma'lumotlar va narsalarni ular bilan ishlashni osonlashtiradigan tarzda ulashdir. OOPdagi har bir ob'ekt protseduralar yoki usullar ko'rinishidagi kodlardan va maydonlar ko'rinishidagi ma'lumotlardan iborat.
C++, Objective C, Python, Perl va Java kabi tillar ob'ektga yo'naltirilgan eng mashhur tillardir. dasturlash tillari.
Bu haqda ko'proq tushunish juda muhim, chunki intervyu savollari juda tipik. Aksariyat firmalar ob'ektga yo'naltirilgan usullar va naqshlarni yaxshi biladigan muhandislarni qidirmoqda. Shunday qilib, agar siz intervyuda qatnashmoqchi bo'lsangiz, OOP g'oyalarini yaxshi bilishingiz kerak.
Ushbu postda boshlang'ichdan tortib to ekspert darajasiga qadar turli xil ob'ektga yo'naltirilgan dasturlash intervyu savollari ko'rsatiladi. Shunday qilib, siz istalgan darajadagi intervyudan o'tishingiz va orzuingizdagi mavqega ega bo'lishingiz mumkin.
1. Obyektga yo'naltirilgan dasturlash aynan nima?
Ob'ektga yo'naltirilgan dasturlash (OOP) faqat funktsiyalar va jarayonlarga emas, balki haqiqiy ob'ektlarga asoslanadi. Sinflar individual mahsulotlar uchun yaratilgan.
Meros, polimorfizm va yashirish OOPlar dasturlashda qo'shiladigan real dunyo tushunchalariga misoldir. Shuningdek, u ma'lumotlar va kodlarni ulash imkonini beradi.
2. Nima uchun OOP kerak?
OOP ni afzal ko'rishning bir qancha sabablari bor, ammo eng muhimlari quyidagilardir:
- OOPlar, odamlarga dastur bilan tanish bo'lmasa ham, ularni osongina tushunishlariga imkon bering.
- Voy, kodni o‘qish, tushunarlilik va xizmat ko‘rsatish qobiliyatini o‘n baravar yaxshilang.
- OOPlardan foydalanib, hatto juda katta ilovalarni ham oddiygina qurish va boshqarish mumkin.
3. OOPS tamoyillari qanday afzalliklarni beradi?
- OOPS, dasturlash ob'ektlari haqiqiy dunyo ob'ektlarini taqlid qilib, murakkablikni kamaytiradi va dastur ravshanligini oshiradi.
- Ko'pgina dasturlarda ob'ektlar qayta-qayta ishlatilishi mumkin.
- Har bir ob'ekt ichki operatsiyalari boshqa tizim komponentlaridan mustaqil bo'lgan alohida ob'ektni yaratadi.
- Bir nechta yangi ob'ektlarni joriy qilish va bir nechta mavjudlarini yangilash orqali siz yangi funksiyalarni qo'shish yoki o'zgaruvchan ish sharoitlariga moslashish mumkin.
- OOPs dasturining jarayonlari yoki ma'lumotlar taqdimoti osonlikcha kichik o'zgarishlarga duch kelishi mumkin.
4. OOP kontseptsiyasining ustunlari nimalardan iborat?
Quyidagilar OOPning asosiy ustunlari:
meros olish: Bu sinflarga boshqa sinfning atributlarini meros qilib olish imkonini beradi.
Kapsülleme: Bu muhim ma'lumotlarni yashiradigan ob'ekt xususiyati sifatida aniqlanadi. Bu ma'lumotlarni sinf a'zolaridan yashiradi. Spesifikatorlar ob'ekt atributiga kodda qanday kirishni tasvirlaydi.
Polimorfizm: Bu sizga bitta faoliyatni bir necha usulda amalga oshirish imkonini beradi. Bu interfeyslar orqali amalga oshiriladi, unda biz bir interfeysni e'lon qilamiz, keyinchalik u bir necha marta amalga oshiriladi.
Abstraktsiya: Siz ushbu funksiyadan muhim maʼlumotlarni tashqi dunyodan yashirish va faqat muhim faktlarni taqdim etish uchun ishlatishingiz mumkin.
5. Sinf degani aynan nima?
Sinf - bu turli holatlardagi va har xil xatti-harakatlarga ega bo'lgan ob'ektlardan tashkil topgan prototip. Bu sinfdagi ob'ektlar tomonidan baham ko'rilgan bir qator usullarga ega.
6. Ob'ekt aynan nima?
Ob'ekt - bu stul, mushuk yoki it kabi OOPning asosiy birligi bo'lib xizmat qiladigan haqiqiy dunyo ob'ekti. Har xil ob'ektlar turli holatlar, xususiyatlar va harakatlarga ega.
7. OOP cheklovlari qanday?
- Hajmi boshqa ilovalarnikidan kattaroq.
- Bu biroz ko'nikishni talab qiladi.
- Muayyan turdagi muammolar buni talab qilmaydi.
- Uni yaratish ko'p mehnat talab qildi va boshqa ilovalar bilan solishtirganda u sekinroq ishlaydi.
8. Meros nima?
Meros deb ataladigan tushuncha sinfning o'rnatilgan tuzilishi va xatti-harakatlarini boshqa sinf tomonidan bo'lishishni anglatadi. Meros bitta sinfga qo'llanilsa, u yagona meros deb ataladi; u ko'p sinflarga bog'liq bo'lsa, u bir nechta meros deb ataladi.
9. Inkapsulyatsiya aniq nima?
OOP g'oyasi inkapsulyatsiyani ham o'z ichiga oladi. U ma'lumotlar va ma'lumotlarni manipulyatsiya qilish usullarini aralashtirishni tavsiflaydi. Bundan tashqari, u ob'ektning ba'zi qismlariga to'g'ridan-to'g'ri kirishni oldini olishga yordam beradi.
10. Polimorfizm nima?
OOP tillarida polimorfizm asosiy tushunchadir. Turli sinflar interfeysni qanday baham ko'rishi mumkinligini ko'rsatadi. Ushbu sinflarning barchasi noyob interfeyslarni amalga oshirishga qodir.
11. Abstraksiya aynan nima?
Abstraktsiya - bu real ob'ektlarning tuzilishini yaratish uchun foydalaniladigan ob'ektga yo'naltirilgan dasturlash (OOPs) tushunchasi. U faqat eng muhim fazilatlarni "ko'rsatadi" va tashqi dunyodan begona ma'lumotlarni "yashiradi". Abstraktsiyaning asosiy maqsadi odamlarni keraksiz ma'lumotlardan himoya qilishdir.
12. Usulni ortiqcha yuklash aynan nima?
Ikki yoki undan ortiq protseduralar bir xil nomga ega bo'lishi mumkin. Biroq, ular alohida parametrlarga, turli xil parametrlar soniga, alohida turlarga yoki ikkalasiga ega bo'lishi kerak. Ular haddan tashqari yuklangan usullar sifatida tanilgan va xususiyat usulni ortiqcha yuklash deb nomlanadi.
13. Usulning ustunligi aynan nima?
Ob'ektga yo'naltirilgan dasturlash usulni bekor qilish g'oyasini o'z ichiga oladi. Bu pastki sinf yoki kichik sinfga o'zining yuqori sinflari yoki ota-sinflaridan biri taqdim etgan usulning moslashtirilgan amalga oshirilishini taklif qilish imkonini beruvchi til xususiyatidir.
14. Yuqori sinf aniq nima?
Ko'pincha asosiy sinf sifatida tanilgan superklass boshqa sinf yoki sinflarning ota-onasi sifatida ishlaydigan sinf turidir. Masalan, Car sinfida Vehicle deb nomlangan kichik sinf mavjud.
15. Kichik sinf aniq nima?
Subklass boshqa sinfning kichik sinfidir. Mikroavtobus, masalan, Avtotransport kichik sinfi yoki olingan sinfdir.
16. Statik polimorfizm aynan nima?
Kompilyatsiya vaqtida statik polimorfizm (statik bog'lanish) deb nomlanuvchi polimorfizm turi sodir bo'ladi. Metodni haddan tashqari yuklash kompilyatsiya vaqti polimorfizmining bir turidir.
17. Dinamik polimorfizm aynan nima?
Ishlash vaqtida hal qilinadigan polimorfizm turi dinamik polimorfizm (dinamik bog'lanish) deb ham ataladigan ish vaqti polimorfizmi deb ataladi. Usullarni bekor qilish ish vaqti polimorfizmining tasviridir.
18. Konstruktor tushunchasiga ta’rif bering.
Konstruktor - bu sinf namunasi yaratilganda avtomatik ravishda chaqiriladigan sinfning o'ziga xos usuli. Sinfga kirganingizda, u sinf bilan bir xil nom bilan tuziladi va uning barcha a'zolarini ishga tushiradi. Konstruktorning asosiy xususiyatlari quyidagilardan iborat:
Konstruktorlar uchun qaytish turi mavjud emas.
Konstruktorlarni ortiqcha yuklash mumkin.
Konstruktorni ko'rsatish shart emas; NET Framework buni avtomatik ravishda bajaradi.
19. Kirish modifikatorlari aynan nimalardan iborat?
Ob'ektga yo'naltirilgan tillarda kalit so'zlar kirish modifikatorlari yoki kirish spetsifikatsiyasi hisoblanadi. Bu sinflar, usullar va boshqa a'zolarning kirish imkoniyatlarini sozlashda yordam beradi.
20. Destruktor aynan nima?
Destruktor - ob'ektga tayinlangan resurslarni chiqarish usuli. Ob'ekt yo'q qilinganda, bu usul avtomatik ravishda chaqiriladi.
21. Gibrid meros aynan nima?
Gibrid meros - bu bitta, ko'p va boshqalar kabi bir nechta meros shakllarini aralashtirish natijasida hosil bo'lgan merosning bir turi.
22. Ierarxik meros deganda aniq nima tushuniladi?
Bir nechta kichik sinflar ierarxik meros holatida ota-sinfdan meros oladi. Ko'p sonli sinflar bitta ota-ona yoki asosiy sinfdan kelib chiqadigan meros turi ierarxik meros deb nomlanadi. Misol uchun, meva sinfida "olma", "mango", "banan", "gilos" va boshqalar kabi kichik sinflar bo'lishi mumkin.
23. Merosning qanday kamchiliklari bor?
Bu ijro jarayonini uzaytiradi va murakkablashtiradi. Bu shuningdek, turli sinflar o'rtasida almashishni talab qiladi. Ota-onalar va bolalar sinflari doimo uzviy bog'liqdir.
O'quv rejasiga kiritilgan o'zgartirishlar ota-onalar uchun ham, bolaning sinfi uchun ham qayta ko'rib chiqishni talab qiladi. Meros ehtiyotkorlik bilan amalga oshirilishi kerak, aks holda natijalar noto'g'ri bo'ladi.
24. Istisno aniq nima?
Istisno - bu kodning odatiy ishlashiga xalaqit beradigan hodisa. Amalga oshirishni davom ettirish uchun siz ushbu istisnolarni Java-da boshqarishingiz mumkin. Java-da oldindan belgilangan istisnolarning ko'p turlari mavjud va istisnolar bilan ishlash try-catch bloklari yordamida ko'tarilgan istisnolarni boshqarish uchun taqdim etiladi.
25. Istisnolarni hal qilish aynan nima va uning qanday afzalliklari bor?
Ish vaqtining kutilmagan nosozliklarini bartaraf etishning Java-dagi eng muhim usuli bu istisnolarni qayta ishlashdir. Bu dasturni bajarish jarayonida yuzaga keladigan ish vaqtidagi xatolarni nazorat qilish imkonini beradi.
Istisnolarni boshqarishning afzalliklari istisnolarni boshqarishda muntazam dastur oqimini saqlab qolish qobiliyatini o'z ichiga oladi. Misol uchun, agar dasturning bir bo'limida xatolik yuzaga kelsa, agar biz istisnoni try-catch bloklari bilan ishlasak, bu dasturning qolgan qismiga ta'sir qilmaydi.
26. Virtual funksiyalar nimalardan iborat?
Virtual funksiyalar ham ota-sinfning funksiyalariga kiritilgan va quyi sinf tomonidan bekor qilingan. Ushbu tartiblar ish vaqti polimorfizmiga erishishga yordam beradi.
27. Do'st vazifasi aynan nima?
Do'st funktsiyasi - bu sinfga tegishli bo'lgan va uning umumiy, shaxsiy yoki himoyalangan ma'lumotlariga kirishga ruxsat berilgan funktsiya. Agar funktsiya sinfdan tashqarida aniqlangan bo'lsa, bu ma'lumotlarni olish mumkin emas. Shaxsiy, ommaviy va himoyalangan kirishni boshqarish kalit so'zlari do'stlik deklaratsiyasiga ta'sir qilmaydi, bu sinf deklaratsiyasining istalgan joyida amalga oshirilishi mumkin.
28. Garbage Collection aynan nima?
Axlat yig'ish (GC) C# va Java kabi dasturlash tillarining elementi bo'lib, xotirani tiklash tizimi sifatida xizmat qiladi. Axlat yig'ish (GC) dvigateli dasturlash tilining tarkibiy qismi bo'lib, dastur endi foydalanmayotgan ob'ektlar uchun avtomatik xotira maydonini bo'shatish imkonini beradi.
29. Ulanish aniq nima?
Bu turli sinflar bir-biriga tayanadigan va bilim almashadigan vaziyatlarni anglatadi. Bir sinf boshqa sinf haqida batafsil ma'lumotga ega bo'lganda kuchli aloqa paydo bo'ladi. Kirish modifikatorlari yordamida sinflar, usullar yoki o'zgaruvchilarning ko'rinishini belgilashingiz mumkin. Interfeyslar zaifroq ulanishni ta'minlash uchun ishlatiladi.
30. Kogeziya aniq nima?
Komponentning muayyan faoliyatni amalga oshirish usuli uning birlashishi deb ataladi. Kuchli, yaxlit yondashuv oddiygina belgilangan vazifani bajaradi, zaif, yaxlit usul esa bitta vazifani bir nechta kichikroq vazifalarga bo'lib, keyin ularni yakunlaydi.
Java.io to'plami juda mos keladi, lekin java.util paketi unday emas.
31. try/catch blokini tavsiflang.
Dastur noto'g'ri kod yoki ma'lumotlar tufayli xatoga duch kelganda, "sinab ko'ring" va "tutib oling" uni qanday boshqarishni ko'rsatadi. Sinab ko'rish bloki - bu istisnolar yuzaga kelganda kod qismining nomi. Qabul qilish bloki sinash bloklaridan istisnolarni qo'lga olish va hal qilish uchun ishlatiladi.
32. Yakuniy blokni tavsiflang.
try kalit so'zining kodning ishchi qismi oxirgi ko'rsatilgan. U har doim sinovdan so'ng darhol ishga tushiriladigan kodni va usul tugashidan oldin har qanday tutish bloklarini belgilaydi. Yakuniy blok har doim istisno tashlanadimi yoki ushlab turiladimi, ishlaydi.
33. Interfeys aynan nima?
Interfeys - bu mavhum usullar va foydalanuvchi tomonidan belgilangan ma'lumotlar turining kombinatsiyasi. Sinf interfeysning mavhum funksiyalarini meros qilib olgan interfeysni amalga oshiradi.
Sinf ob'ektning xususiyatlari va xatti-harakatlarini ifodalaydi, interfeys esa sinf amalga oshiradigan xatti-harakatlarni o'z ichiga oladi. Interfeys "nima" ni ifodalaydi, sinf esa "qanday" ni bildiradi.
34. Kompozitsiya aynan nima?
Tarkibi ulanishga erishish uchun ishlatilishi mumkin. U yig'ilishdan farqli o'laroq, qaram va mustaqil ob'ektlar o'rtasida kuchli ob'ekt bog'lanishini namoyish etadi. Bu holatda qaram ob'ekt mavjud emas va agar asosiy ob'ekt o'chirilsa, o'chiriladi.
35. Konstruktor zanjiri aynan nima?
Konstruktor zanjiri joriy ob'ekt havolasiga nisbatan bir konstruktorni boshqasidan chaqirish usulidir. Ikkita variant mavjud:
- Joriy sinfdagi konstruktorga “this” kalit so‘zi yordamida murojaat qilish mumkin.
- "Super" kalit so'zi konstruktorni asosiy sinfdan chaqirish uchun ishlatiladi.
Xulosa
Ob'ektga yo'naltirilgan dasturlash dasturning tuzilishi haqida o'ylashni va oldindan tayyorgarlik ko'rishni talab qiladi. Talablarni narsalarning namunalarini yaratish uchun ishlatilishi mumkin bo'lgan asosiy, qayta ishlatiladigan sinflarga qanday ajratishni o'rganish.
Umuman olganda, OOPni qabul qilish yaxshilanishni ta'minlaydi ma'lumotlar tuzilmalari va qayta foydalanish mumkinligi, bu esa uzoq muddatda vaqtni tejaydi. Qarang Hashdorkning intervyu seriyasi intervyu tayyorlashda yordam uchun.
Leave a Reply