RiapaMeTpbi anrmeTa
Ob'ektlarni usullarga o'tkazish
Download 399.85 Kb.
|
Java (Laboratoriya)
- Bu sahifa navigatsiya:
- Cloneable interfeysini amalga oshirishingiz kerak va uni Point sinfida
Ob'ektlarni usullarga o'tkazish
Ob'ektlar mos yozuvlar orqali usullarga o'tkaziladi, shuning uchun agar siz metoddagi ob'ekt maydonining qiymatini o'zgartirsangiz, bu o'zgarish asl ob'ektga ta'sir qiladi. /* № 3.8 misol : uzatish yoqilgan havola : DemoRef.java */ class Point Cloneable dasturini amalga oshiradi{ xususiy int x = 1; public int getX() { qaytish x; } umumiy bekor setX (int qiymati) { x = qiymat; } } umumiy sinf DemoRef { xususiy statik bekor meth (nuqta p) { p.setX(10); } umumiy statik void main(String[] args) { Nuqta nuqtasi = new Point(); System.out.println("x = " + point.getX()); uchrashdi(nuqta); System.out.println("x = " + point.getX()); } } Natijada: x = 1 x = 10 bo'ladi Xuddi shu sinfning boshqa usullaridan ba'zi sinf usullarini chaqirish ob'ekt yoki sinf nomisiz mumkin. Shuningdek, meth () usulida, mos yozuvlar p mos yozuvlar nuqtasi bilan bir xil ob'ektga ishora qiladi asosiy () usulda . Bunday holatlarga yo'l qo'ymaslik uchun siz quyidagi shakldagi usulda ob'ektning mahalliy nusxasini yaratishingiz kerak: Point pCopy = (Point)p.clone(); Buni amalga oshirish uchun siz bo'sh Cloneable interfeysini amalga oshirishingiz kerak va uni Point sinfida bekor qilishingiz kerak. klonlash () usuli : umumiy ob'ekt klonu() uradi CloneNotSupportedException { super .clone(); Mantiqiy bloklar Sinfni tavsiflashda mantiqiy bloklardan foydalanish mumkin. Mantiqiy blok - bu jingalak qavslar ichiga olingan va joriy sinfning hech qanday usuliga tegishli bo'lmagan kod. { /* kod */ } Mantiqiy bloklar ko'pincha maydonni ishga tushiruvchilar sifatida ishlatiladi, lekin joriy sinfning ham, unga tegishli bo'lmaganlarning ham usullariga qo'ng'iroqlarni o'z ichiga olishi mumkin. Sinf ob'ektini yaratishda ular oddiy buyruqlar ketma-ketligi sifatida maydonlarni ishga tushirish bilan bir qatorda joylashtirish tartibi bo'yicha ketma-ket chaqiriladi va faqat oxirgi blok bajarilgandan keyin sinf konstruktori chaqiriladi. Mantiqiy blok ichidagi sinf maydonlarida bu maydon aniq e'lon qilinishidan oldin operatsiyalar faqat C++ da bo'lgani kabi joriy ob'ektga havola bo'lgan ushbu havola yordamida amalga oshiriladi . Mantiqiy blokni statik belgilovchi bilan e'lon qilish mumkin . Bunday holda, u har doim ushbu sinfning statik usulini chaqirishdan oldin chaqiriladi. /* № 3.9 misol: sinfni e'lon qilishda mantiqiy bloklardan foydalanish: DemoLogic . java */ public sinf DemoLogic { { Tizim . tashqariga . println (" mantiqiy (1) x =" + bu . x ); } Download 399.85 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling