O. X. Azamatov
Download 1.82 Mb. Pdf ko'rish
|
3072-Текст статьи-7829-1-10-20200908
15.2. Umumlashgan dasturlash Object tipidagi o‘zgaruvchilarda ixtiyoriy sinf o‘zgaruvchilari qiymati saqlanishi mumkin, masalan String sinfi: Object obj = "Salom"; // Тo‘g‘ri. Lekin sonlar, simvollar va mantiqiy o‘zgaruvchilar obyektlarga kirmaydi. obj = 5 ; // Noto‘g‘ri. obj = false; // Noto‘g‘ri. Bundan tashqari hamma tipdagi massivlar, ularda obyektlar yoki asosiy tiplardagi o‘zgaruvchilar saqlanishiga qaramay Object sinfi vorisi hisoblanadi. Employee staff [] = new Employee[10]; Object arr = staff; // Тo‘g‘ri. arr = new int[10]; // Тo‘g‘ri. Biror sinfga tegishli obyektlar massivini Object sinfi obyektlari massiviga aylantirish mumkin. Masalan, Employee[] sinfi massivini Object[ ] sinfi massivini kutayotgan usulga uzatish mumkin. Bu usul umumlashgan dasturlash uchun foydalidir (generic programming). Quyida umumlashgan dasturlash konsepsiyasini ko‘rsatuvchi misol keltirilgan. Bu misolda massivda element indeksini aniqlash lozim. static int find(Object[] a, Object key) (int i; For (i =0; i < a.length; i++) if (a[i].equals(key)) return i; return -1; // Indeks topilmagan. } Misol uchun, 123 Employee staff[] = new Employee[10]; Employee harry; int n = find(staff, harry); SHuni ta’kidlab o‘tish lozimki Object[ ] tpi massivini faqat biror sinf obyektlari massiviga aylantirish mumkin. Preobrazovat massiv tipa int[ ] v massiv tipa Object[] tipi massiviga int[ ] tipi massivini o‘zgartirish mumkin emas. Agar biror sinf obyektlaridan massiv, Object[ ] tipidagi massivga aylantirilsa, umumlashgan massiv boshlang‘ich tip xaqidagi ma’lumotni o‘zida saqlab qoladi. Bu massivga boshqa tipdagi elementni joylashtirish mumkin emas. Download 1.82 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling