O. X. Azamatov
Interfeys ta’rifi. Operator interface. Operator implements
Download 1.82 Mb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling