O. X. Azamatov


Download 1.82 Mb.
Pdf ko'rish
bet104/119
Sana09.01.2022
Hajmi1.82 Mb.
#256439
1   ...   100   101   102   103   104   105   106   107   ...   119
Bog'liq
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:
1   ...   100   101   102   103   104   105   106   107   ...   119




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling