Asosiy farq – Java’da ortiqcha yuklash va bekor qilish
Obyektga yoʻn altirilgan dasturlash (OOP) dasturiy taʼminotni ishlab chiqishdagi asosiy paradigmadir. Bu sinflar va ob'ektlardan foydalangan holda dasturni loyihalash metodologiyasi. Sinf - bu reja. U ob'ektda nima bo'lishi kerakligini tasvirlaydi. U ob'ektdan iborat bo'lishi kerak bo'lgan xususiyatlar yoki atributlarni va usullarni belgilaydi. Shuning uchun ob'ekt sinfning namunasidir. Bu ob'ektlar boshqa ob'ektlar bilan aloqa qiladi. OOPning asosiy tushunchalaridan biri polimorfizmdir. Bu ob'ektning turli yo'llar bilan harakat qilish qobiliyatidir. Polimorfizm ikki qismga bo'linadi, ular haddan tashqari yuklash va bekor qilish. Ushbu maqolada Java-da bu ikkisi o'rtasidagi farq muhokama qilinadi. Java-da haddan tashqari yuklash va bekor qilish o'rtasidagi asosiy farq shundaki, Haddan tashqari yuklash - bu turli xil ilovalar bilan bir xil nomdagi bir nechta usullarni yaratish qobiliyati va Overriding - bu yuqori sinfda allaqachon mavjud bo'lgan pastki sinf usuli uchun amalga oshirishni ta'minlash.
Java'da ortiqcha yuklanish nima?
Haddan tashqari yuklash - bu turli xil ilovalar bilan bir xil nomdagi bir nechta usullarni yaratish qobiliyati. Quyidagi Java kodiga qarang.
01-rasm: Turli argumentlar bilan ortiqcha yuklashni tushuntiruvchi Java dasturi
Yuqoridagi dasturga ko'ra, A sinfida bir xil nomdagi ikkita usul mavjud. Birinchi yig'indi usuli ikkita parametrga ega. Ikkinchi summa usuli uchta parametrga ega. A tipidagi ob'ektni yaratish va sum(2, 3) ni chaqirganda, u sum(int a, int b) bo'lgan ikkita parametr bilan sum usulini chaqiradi va 5 ni qaytaradi. A tipidagi ob'ektni yaratishda va sum(2) ni chaqirishda, 3, 4), u yig'indi (int a, int b, int c) bo'lgan uchta parametrli boshqa sum usulini chaqiradi va 9 ni qaytaradi.
Usul nomi bir xil, lekin parametrlar soni boshqacha. Xuddi shu ob'ekt o'zini boshqacha tutayotganini kuzatish mumkin. Ushbu kontseptsiya haddan tashqari yuk deb nomlanadi. U shuningdek Statik bog'lash yoki kompilyatsiya vaqti polimorfizmi deb ataladi.
Har xil ma'lumotlar turlari bilan ortiqcha yuklanishi ham mumkin. Quyidagi Java kodiga qarang.
02-rasm: Turli argumentlar bilan ortiqcha yuklashni tushuntiruvchi Java dasturi
Yuqoridagi dasturga muvofiq, A klassi bir xil nomdagi ikkita usuldan iborat. sum(int a, int b) usuli ikkita butun qiymatni oladi. Yig'indi (double a double b) ikkita qo'sh qiymatni oladi. A tipidagi obyektni yaratish va sum(2, 3) ni chaqirganda, u sum(int a, int b) ni chaqiradi va 5 qiymatini qaytaradi. b) va 9.0 qiymatini qaytaring. Ushbu misolda usullar bir xil nomga ega, ammo o'zgaruvchilarning turi boshqacha. Bu ham haddan tashqari yuklanmoqda.
Javada Overriding nima?
Javada allaqachon mavjud sinflar bilan quyi sinflarni yaratish mumkin. Yangi sinfni boshidan yaratish o'rniga, mavjud sinfning xususiyatlari va usullaridan foydalanish mumkin. Mavjud sinf yuqori sinf, olingan sinf esa pastki sinfdir. Agar pastki sinf yuqori sinfda mavjud bo'lgan usulni amalga oshirishni ta'minlasa, u bekor qilish deb nomlanadi. Quyidagi Java dasturiga qarang.
03-rasm: bekor qilish uchun Java dasturi
Yuqoridagi dasturga ko'ra, A sinfida usul displey() mavjud. B klassi A sinfidan tarqaladi, shuning uchun A sinfining xususiyatlari va usullari B sinfida mavjud. B sinfida ma'lum bir dasturga ega display() usuli mavjud. A tipidagi ob'ektni yaratish va ko'rsatish usulini chaqirganda, u B chiqishini beradi. A sinfida ko'rsatish usuli bo'lsa ham, u B sinfini ko'rsatish usulini bekor qiladi. Subklass yuqori sinfda allaqachon mavjud bo‘lgan usulni amalga oshirmoqda.
Bu tushuncha polimorfizmning bir turi boʻlib, uni bekor qilish deb nomlanadi. U, shuningdek, kechikish, dinamik ulanish, ish vaqti polimorfizmi deb ataladi.
Javada ortiqcha yuklash va bekor qilish oʻrtasidagi oʻxshashliklar qanday?
- Ikkalasi ham polimorfizm turi.
- Haddan tashqari yuklash va bekor qilishda usullar bir xil nomga ega.
Javada ortiqcha yuklash va bekor qilish oʻrtasidagi farq nima?
Haddan tashqari yuklanish va Java-da bekor qilish |
|
Java-da haddan tashqari yuklanish - bu turli xil ilovalar bilan bir xil nomdagi bir nechta usullarni yaratish qobiliyati. | Java-da bekor qilish supersinfda allaqachon mavjud boʻlgan usul uchun quyi sinf usulida maxsus amalga oshirishni taʼminlaydi. |
Parametrlar | |
Haddan tashqari yuklashda usullar bir xil nomga ega, lekin parametrlar soni boshqacha yoki parametrlarning boshqa turiga ega. | Bekor qilishda usullar bir xil nomga ega va parametrlar bir xil boʻlishi kerak. |
Mavzular | |
Sinf ichida haddan tashqari yuklanish sodir boʻladi. | Oddiy belgilash meros munosabatlariga ega boʻlgan ikkita sinfda sodir boʻladi. |
Sinonimlar | |
Haddan tashqari yuklanish kompilyatsiya qilingan vaqt polimorfizmi deb ataladi. | Oddini bekor qilish ish vaqti polimorfizmi deb ataladi. |
Xulosa – Haddan tashqari yuklash va Java-da bekor qilish
Polimorfizm - ob'ektga yo'n altirilgan dasturlashning asosiy tushunchasi. Bu ob'ektning turli yo'llar bilan harakat qilish qobiliyatini ta'minlaydi. Bu haddan tashqari yuklash yoki bekor qilish bo'lishi mumkin. Haddan tashqari yuklash kompilyatsiya vaqti polimorfizmi, bekor qilish esa ish vaqti polimorfizmidir. Ular dasturiy ta'minotni ishlab chiqishda foydalidir. Overriding va overloading o'rtasidagi farq shundaki, Haddan tashqari yuklash - bu turli xil ilovalar bilan bir xil nomdagi bir nechta usullarni yaratish qobiliyati va Overriding - bu yuqori sinfda allaqachon mavjud bo'lgan usul uchun pastki sinf usulida maxsus amalga oshirishni ta'minlaydi. Java-da ortiqcha yuklash va bekor qilishni amalga oshirish mumkin.
PDF-ni Java-da ortiqcha yuklash va bekor qilish bilan yuklab oling
Siz ushbu maqolaning PDF-versiyasini yuklab olishingiz va iqtibos keltirgan holda oflayn maqsadlarda foydalanishingiz mumkin. Iltimos, PDF versiyasini bu yerdan yuklab oling Java-da ortiqcha yuklash va bekor qilish o'rtasidagi farq