Javada Konstruktorlar, Classlar va metodlar.
Javada Konstruktorlar, Classlar va metodlar. Reja: 1. Nazariy qism a) Ob’yektga mo’ljallangan dasturlash b) Javada klasslar va metodlar c) Konstruktorlar 2. Xulosa 3. Adabiyotlar
Obyektlarga ixtisoslashgan dasturlash xozirgi kunda asosiy dasturlash paradigmasi xisoblanib, 1970 yillarda yaratilgan protsedurali dasturlash texnikasini o’rniga keldi. Obyektlarga ixtisoslashgan dizayn dasturni bir necha to’laqon, bir biri bilan ishlovchi dastur komponentlari, ya’ni obyektlarga bo’lish imkoniyatini birdiradi. Obyektlarga ixtisoslashgan dasturlashni maqsadi mavjud muammoni bir necha kichik, oson xal qilib bo’linadigan muammolarga bo’lish xisoblanadi. Java dasturlash tili to’laqon obyektlarga ixtisoslashgan dasturlash tilidir. Obyektlarni dizayn qilish uslubi bu dasturni obyektlarga bo’lish uchun mo’ljallangan qoidalar majmui. Ko’pincha bu real dunyo element va xodisalarini dastur komponentlariga bog’lash xisoblanadi. Dasturni qayta ishlatish imkoniyatiga ega bo’lgan obyektlarga bo’lishni turli xil uslublari mavjud. Obyektlarga ixtisoslashgan dasturlashning unumdorligini asosiy sababi bu xar bir obyektni o’ziga tegishli vazifani bajarish majburiyati mavjudligi. Agar biror obyekt o’zini majburiyati bo’lmagan vazifaga bog’liq bo’lsa u xolda ushbu vazini bajaruvchi boyektga murojaat qilishi kerak. Birinchi obyekt ikkinchi oyektdan vazifani bajarishni so’raydi (Java dasturlash tilida ushbu so’rov metod chaqiruvi orqali amalga oshiriladi). Klasslar Klasslar Java dasturining tashkiliy elementi xisoblanadi. Klass metodlarni, o’zgaruvchilarni, izitsializatsiya kodi va boshqa klasslarni o’z ichiga olishi mumkin. U klass na’munalarini, klass strukturasini bajaruvchi obyektlarini, yaratish uchun andoza xisoblanadi. Klass class kalit so’zi orqali el’on qilinadi. Klassning metod va o’zgaruvchilari uning figurali qavslari ichida, ya’ni tanasida, joylashadi. Masalan: class Avtomobil
{ int tezligi; double narxi; String rangi; public int getTezligi() { return tezligi; } } Yuqoridagi Avtomobil klassi uchta o’zgaruvchilarni o’z ichiga oladi, bular tezligi, narxi va rangi. Ushbu klass getTezlik() metodini xam belgilaydi. Avtomobil klassi e’lon qilingandan so’ng Avtomobil obyektini yaratib olish mumkin. Buning uchun quyidagi ifodadan foydalanish mumkin: Avtomobil a; a = new Avtomobil(); Yuqoridagi dastur kodining birinchi qatorida Avtomobil turidagi a o’zgaruvchisi e’lon qilingan. Ikkinchi qatorda new kalit so’zi yordamida Avtomobil obyekti yaratilib a o’zgaruvchisiga biriktirilgan. Avtomobil obyekti yaratilgandan so’ng uning o’zgaruvchilari va metodlariga murojaat qilish mumkin. Masalan: a.tezligi = 200; int tez = a.getTezligi(); Metodlar Metodlar klass tanasida joylashadi. Ular lokal o’zgaruvchilar va boshqa Java ifodalarini o’z ichiga oladi va ushbu o’zgaruvchilar metod chaqirilganda ishga tushiriladi. Metodlar ularni chaqirgan ifodaga qiymat qaytarishi mumkin. Qaytariladigan qiymat sodda qiymatlar, o’zgaruvchi yoki void, xech qanday qiymat qaytarilmaydi, bo’lishi mumkin. Metod e’lon qilinganda qaytariladigan qiymat
metod nomidan oldin ko’rsatilishi kerak. Metodlar qiymat qabul qilishi xam mumkin va ushbu qiymat chaqiruvchi tomonidan beriladi. Metod e’lon qilinganda qabul qiladigan qiymat metodni qavslari ichida ko’rsatiladi. Masalan: class ArifmetikQiymat { int xQiymat; int yQiymat; double xisoblash(int x, int y) { double arifQiymat = (x + y)/2; return arifQiymat; } } Ushbu dasturda ArifmetikQiymat klassida ikkita butun sonlarni (int x va int y) qabul qiluvchi xisoblash() metodi e’lon qilingan. Ushbu metod ratsional (double) qiymatni return kalit so’zi orqali chaqiruvchi ifodaga qiymat sifatida qaytaradi. xisoblash() metodi ichida arifQiymat nomli o’zgaruvchi e’lon qilingan. Metod ichida e’lon qilingan o’zgaruvchilar lokal o’zgaruvchilar deyiladi. Lokal o’zgaruvchilarni klass o’zgaruvchilardan farqi shundaki, ular vaqtincha bo’lib metod bajarilguncha axamiyatga ega. Metod bajarilib bo’lingandan so’ng lokal o’zgaruvchilar o’z axamiyatini yo’qotadi. Bundan tashqari lokal o’zgaruvchilariga metod tashqarisidan murojaat qilib bo’lmaydi. Java dasturlash tilida bitta klass ichida bir xil nomga ega bir nechta metodlarni e’lon qilish xam mumkin. Ushbu printsip metodni qayta e’lon qilish deb nomlanadi. Faqatgina qayta e’lon qilingan metod xar xil son va turdagi
argumentlarni qabul qilishi shart. Metod chaqirilganda kompilyator metod qabul qiladigan argumentlariga qarab ushbu metodlar ichidan kerakligini ishga tushiradi. Masalan, public class QabulQilinganQiymat { public void qiymat(String s) { System.out.println(“birinchi metod”); System.out.println(“qabul qilingan qiymat - ” + s); } public void qiymat(int x) { System.out.println(“ikkinchi metod”); System.out.println(“qabul qilingan qiymat - ” + x); } } dasturida qiymat(“tekshiruv”); metodi chaqirilsa dastur ekranga birinchi metod qabul qilingan qiymat – tekshiruv chiqarib beradi. Agar, qiymat(5); metodi chaqirilsa dastur ekranga ikkinchi metod qabul qilingan qiymat – 5 chiqarib beradi. Obyekt konstruktsiyasi Java dasturlash tilida obyektlar “heap” nomli tizim xotirasida joylashadi. Boshqa dasturlash tillaridan farli o’laroq Java obyektlarni xotiraga joylashtirish va o’chirishni avtomatik ravishda bajaradi. Yangi obyekt yaratilganda unga xotiradan kerakli joy ajratiladi. Obyekt kerak bo’lmay qolganda u Javaning maxsus “garbage collector” yordamida o’chirilib tashlanadi. Obyekt new operatori yordamida yaratiladi klass andozasi asosida yaratiladi. Masalan, quyidagi klass berilgan bo’lsin: