O. X. Azamatov


 Interfeys ta’rifi. Operator interface. Operator implements


Download 1.82 Mb.
Pdf ko'rish
bet105/119
Sana09.01.2022
Hajmi1.82 Mb.
#256439
1   ...   101   102   103   104   105   106   107   108   ...   119
Bog'liq
3072-Текст статьи-7829-1-10-20200908

15.3. Interfeys ta’rifi. Operator interface. Operator implements 
Interfeys  —  bu  usullar  jamlamasi  oshkor  spetsifikatsiyasi  bo‘lib,  shu 
spetsifikatsiyani  realizatsiya  qilayotgan  sinfda  bu  usullar  ta’rifi  albatta  berilishi 
lozim.  Interfeysda  bu  usullar  realizatsiyasi  berilmaydi.    Abstrakt  sinflar  kabi 
interfeyslar  ko‘plik  vorislikda  foydalanishi  mumkin.  Konkret  sinf  faqat  bitta 
supersinf vorisi bo‘lishi mumkin lekin cheklanmagan sondagi interfeyslar realizatsiya 
qilinishi mumkin.  
Java  tilida  interfeyslar  usullarni  dastur  bajarilishi  davomida  dinamik  qo‘llashni 
(resolution)  amalga  oshirish  uchun ishlatiladi. Interfeyslar sinflarga  o‘xshaydi, lekin 
usullar  realizatsiyasi  bo‘lmaydi.  Sinf  ixtiyoriy  sondagi  interfeysga  ega  bo‘lishi 
mumkin. Sinfda interfeylar usulari to‘la to‘plamini realizatsiya qilish lozim. Sinf bu 
usullari  signaturasi shu sinf  realizatsiya  qilayotgan  iterfeys  usullari  signaturasi bilan 
bir  xil  bo‘lishi  lozim.  Interfeyslar  sinflar  vorislikka  asoslangan  iyerarxiyasi  bilan 
kesishmaydigan  o‘z  iyerarxiyasiga  ega.  Bu  vorislik iyerarxiyasi  bilan bog‘lanmagan 
turli  sinflarda  bitta  intrfeysni  realizatsiya  qilishga  imkon  beradi.  Interfeyslar  kuchi 
shundan iborat. Interfeyslar  C++ tilida ko‘plik vorislik mexanizmi analogidir, lekin 
ulardan foydalanish qulayroq  
Interfeys  ta’rifi  sinf  ta’rifiga  o‘xshash,  farqi  shundaki  interfeysda  ma’lumotlar 
e’loni va konstruktorlar yo‘qdir. Interfeys ta’rifi umumiy ko‘rinishi:  
interface nom {  natija_tipi usul_nomi1(parametrlar ro‘yxati);  


124 
 
tip final1_o‘zgaruvchi_ismi = qiymat;  }  
Interfeysda  e’lon  qilingan  usullar  tanasi  yo‘qdir.  Interfeysda  e’lon  qilingan 
o‘zgaruvchilar  ko‘zda  tutilgan  bo‘yicha  final  –  o‘zgaruvchilar  hisoblanadi.  Shuning 
uchun  realizatsiya  qiluvchi  sinfda  ularning  qiymatini  o‘zgartirish  mumkin  emas. 
Bundan  tashqari  o‘zgaruvchilarni  interfeysda  ta’riflanganda  konstanta  qiymat  bilan 
initsializatsiya  qilinishi  kerak.  Quyida  callback  nomli  usulga  ega  va  int  tipidagi 
parametrga ega interfeys ta’rifi berilgan.  
interface Callback {  void callback(int param);  }  
Operator  implements  —  biror  interfeys  yoki  interfeyslarni  realizatsiya  qiluvchi 
sinf ta’rifiga qo‘shimchadir  
class sinf_nomi [extends supersinf]  
[implements interfeys0 [, interfeys1...]] { sinf tanasi }  
Agar  sinfda  bir  nechta  interfeyslar  realizatsiya  qilinsa,  ularning  nomlari  vergul 
bilan ajratiladi. Quyida interfeysni realizatsiya qiluvchi sinfga misol berilgan:  
class Client implements Callback {  
void callback(int p) {  System.out.println("callback called with " + p);  
} }  
Quyidagi misolda odin ta’rifi berilgan interfeys callback usuli, interfeysga ilova 
– o‘zgaruvchi orqali chaqiriladi:  
class  TestIface  {    public  static  void  main(String  args[])  {  Callback  s  =  new 
client();  
c.callback(42);  } }  
Quyida dastur bajarilishi natijasi beilgan:  
S:\> Java TestIface  
callback called with 42  

Download 1.82 Mb.

Do'stlaringiz bilan baham:
1   ...   101   102   103   104   105   106   107   108   ...   119




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