logo

Javada Konstruktorlar, Classlar va metodlar.

Загружено в:

08.08.2023

Скачано:

0

Размер:

21.7626953125 KB
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:  public class Kitob 
{ 
String kitobNomi = “1001 kecha”; 
int varoqlarSoni = 324; 
String muqovasi = “Qattiq”; 
public void getKitobNomi() 
{ 
return kitobNomi; 
} 
}
Ushbu klass andozasi asosida yangi obyekt quyidagicha yaratiladi: 
Kitob k = new Kitob(); 
Ya’ni   Kitob   qiymatini   qabul   qiluvchi   k   o’zgaruvchisiga   new   operatori
yordamida yangi Kitob obyekti yaratilib biriktirilgan. 
Java   dasturlash   tilida   obyektlar   obyekt   konstruktori   yordamida   yaratiladi.
Konstruktor   klass   ichida   joylashgan,   klass   bilan   bir   xil   nomga   ega   va   qiymat
qaytarmaydigan maxsus metod xisoblanadi. Ushbu maxsus metod xar doim yangi
klass   na’munasi,   ya’ni   obyekt,   yaratilganda   chaqiriladi.   Boshqa   metodlar   singari
konstruktorlar qiymat qabul qilishi va qayta e’lon qilinishi xam mumkin. Masalan,  public class Avtomobil 
{ 
int tezlig; 
public Avtomobil() 
{ 
this.tezlig = 200; 
}
public Avtomobil(int t) 
{
this.tezlig = t; 
} 
}
Dasturda   Avtomobil   ikkita,   qiymat   qabul   qilmaydigan   va   qiymat   qabul
qiladigan,   konstruktorga   ega.   Obyekt   yaratilayotganida   konstruktor   argumentiga
qarab kerakligi ishga tuhiriladi. Masalan, 
Avtomobil a = new Avtomobil(); 
Avtomobil b = new Avtomobil(250); 
Birinchi   xolatda   a   o’zgaruvchiga   biriktirilgan   Avtomobil   obyektini   tezlik
o’zgaruvchisi   200   qiymatga   ega   bo’ladi.   Ikkinchi   xolatda   b   o’zgaruvchisiga
biriktirilgan Avtomobil obyektini tezlik o’zgaruvchisi 250 qiymatiga ega bo’ladi. 
Agar   klassda   xech   qanday   konstruktor   berilmagan   bo’lsa   kompilyator   avtomatik
ravishda qiymat qabul qilmaydigan konstruktorni qo’shib beradi. Ya’ni,  public class Avtomobil 
{ 
int tezlik; 
public void getTezlik() 
{ 
return tezlik; 
} 
}
dasturi quyidagi dastur bilan bir xil 
public class Avtomobil 
{ 
int tezlik; 
public Avtomobil() 
{
}
public void getTezlik() 
{ 
return tezlik; 
} 
} .
Xulosa
Men   ushbu   mustaqil   ishni   bajarish   jarayonida   oby’ektga   yo’naltirilgan
dasturlash, java dasturlash tilida ob’yektga yo’naltirilgan dasturlash, polimorfizm,
klasslar, metodlar, konstruktorlar, destruktorlar   haqida bilimlarga ega bo’ldim va
olgan bilimlarimni misollar yordamida mustahkamladim.  Foydalanilgan adabiyotlar
1.   Язык программирования  Java   SE  8. Подробное описание   Авторы: 
Джеймс Гослинг, Билл Джой
Год: 2015
2. Irmuhamedov   Z.M.   va   boshqalar.   Informatika.5.Axborot   texnologiyalari.
Toshkent, 1-qism.  2002, 2-qism. 2003
3. http://fayllar.org
4. https://www.onlinegdb.com/online_java_compiler

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: