Algoritmlash asoslari



Download 1,32 Mb.
bet27/41
Sana30.12.2021
Hajmi1,32 Mb.
#90368
1   ...   23   24   25   26   27   28   29   30   ...   41
Bog'liq
Algoritmlash asoslari

class Student{



int id;

String name;

String college="TIU";

}

Student nomli klass yaratdik va unda id, name, va collage o'zgaruvchilari bor. Tasavur qiling universitetda 500 ta talaba o'qiydi har bir talaba uchun dastur xotiradan joy ajratadi, id va name takronlammas bo'ladi va bu yaxshi holat lekin 500 talaba uchun universitet nomi bir xil va har safar universitet nomi uchun xotiradan joy ajratish yaxshi emas. Bu holatda universitet nomi uchun bir marotaba xotiradan foydalanish uchun satatic kalit so'zidan foydalanamiz.

Misol:

Source code

     

  • class Student8{

  •  

  • int id;

  •  

  • String name;

  •  

  • static String college ="TIU";

  •  

  •  

  • Student8(int r,String n){

  •  

  • id = r;

  •  

  • name = n;

  •  

  • }

  •  

  • void display (){System.out.println(id+" "+name+" "+college);}

  •  

  •  

  • public static void main(String args[]){

  •  

  • Student8 s1 = new Student8(111,"Zafar");

  •  

  • Student8 s2 = new Student8(222,"Jalol");

  •  

  •  

  • s1.display();

  •  

  • s2.display();

  •  

  • }

  •  

  • }

Ekranda :

111 Zafar TIU

222 Jalol TIU
Yana bitta misol ko'rsak.

Bu misolda (instance) o'zgaruvchisi bor uni counter deb nomlaymiz konstruktor yaratib o'zgaruvchini qiymatini oshirib natijani ko'ramiz.

class Counter{

int count=0;

Counter(){

count++;

System.out.println(count);

}

public static void main(String args[]){

Counter c1=new Counter();

Counter c2=new Counter();

Counter c3=new Counter();

}

}

Ekranda:

1 1 1
Natija chiqadi, ko'rib turganimizdek, har safar yangi ob’yekt olganimizda counter o'zgaruvchisiga xotiradan yangidan joy ajratyapti. End shu o'zgaruvchini static deb e'lon qilib natijani ko'ramiz:

class Counter2{
static int count=0;

Counter2(){

count++;

System.out.println(count);

}




public static void main(String args[]){

Counter2 c1=new Counter2();

Counter2 c2=new Counter2();

Counter2 c3=new Counter2();

}

}

Ekranda:

1 2 3

ko'rib turganingizdek har safar yangi ob’yekt olganimizda counter xotiradan yangidan joy olmayapti.
static funksiyalar

Agar funksiya static kalit so'zi bilan bo'lsa, bu funksiya static funksiya deyiladi. Static funksiyalar static bo'lgan va static bo'lmagan funksiyalarda chaqirilishi mumkin. Lekin static funksiyada faqat statik funksiya chaqiriladi, static bo'lmagan funksiyalar ob’yekt olish yo'li bilan chaqiriladi.

Static bo'lgan funksiyani static funksiyada chaqirishga misol

class StaticDemo

{

public static void copyArg(String str1, String str2)

{

//copies argument 2 to arg1

str2 = str1;

System.out.println("First String arg is: "+str1);

System.out.println("Second String arg is: "+str2);

}

public static void main(String agrs[])

{

copyArg("XYZ", "ABC");

}

}

Ekranda:

First String arg is: XYZ

Second String arg is: XYZ

Static bo'lmagan funksiyalarni static funksiyada chaqirishga misol

class Test{

public void display()

{

System.out.println("I'm non-static method");

}

public static void main(String agrs[])

{

Test obj=new Test();

obj.display();

}

}

Ekranda:
I'm non-static method




17-dars - Javada Inheritance (merosxo’rlik)
Ma'lum ob’yekt asosida boshqa ob’yektni yaratish jarayoniga aytiladi. Bir klassning boshqa klassdan meros olishi yordamida amalga oshiriladi. Meros olingan ob’yekt ota ob’yektdagi xususiyatlarni tanlovga ko'ra meros oladi. Masalan, avtoulov bu ota ob’yekt. Bu ob’yekt yordamida yengil mashina, yuk mashinasi, poyga mashinasi kabi boshqa ob’yektlarni yaratib olishimiz mumkin. Ota klassda bo'lgan 4 g'ildirak farzand klasslarda ham mavjud bo'ladi. Ya'ni poyga mashinasi, avtoulovdan g'ildiraklarni meros oladi. Ota klassdan meros olayotgan bola klassimiz ota klassning shaxsiy bo'lmagan ( private) barcha o'zgaruvchilari, funksiyalari va h.k larni meros qilib oladi.
Javada meros olinishi

  • Funksiyani qayta yuklash uchun (runtime(dastur ishlab turgan vaqt) da ko'pformalikdan foydalanishda )

  • Kodni qayta ishlatish uchun foydalaniladi.

class Subclass-name extends Superclass-name

{

//funskiyalar va o'zgaruvchilar

}

extends kalit so'zi yangi klass yaratayotganimizda Super klass (Ota klass) dan meros olish uchun ishlatiladi.

Java texnologoyasida quyi klass super klassdan meros oladi. Yani yangi klass quyi klassni chaqiradi.



Yuqorida shaklda Programmer subclassi va Employee super klassi ko'rsatilgan. Bunda shu ikkita klassni orasidagi bog'lanish tasvirlangan.

class Employee{

float salary=40000;

}

class Programmer extends Employee{

int bonus=10000;

public static void main(String args[]){

Programmer p=new Programmer();

System.out.println("Programmer salary is:"+p.salary);

System.out.println("Bonus of Programmer is:"+p.bonus);

}

}

Natija :

Programmer salary is:40000.0

Bonus of programmer is:10000
Yuqoridagi misolda Programmer klassi Employee klassidan meros olyapti va undagi float salary o'zgaruvchisini o'ziga o'zlashtirib olyapti.
Javada meros olinish turlari

Javada asosiy klassdan 3 xil usulda meros olish mumkin ular single (bir tomonlama), multilevel (bir necha class orqali) va hierarchical (iyerarxiya).



Javada bir vaqtning o'zida bir necha klass dan meros olib bo'lmaydi.

class A{

void msg(){System.out.println("Hello");}

}

class B{

void msg(){System.out.println("Welcome");}

}

class C extends A,B{

public static void main(String args[]){

C obj=new C();

obj.msg();//

}

}
Bu yerda Compile Time Error (Kompilyatsiya Vaqtida Xatolik) bo'ladi, chunki bir vaqtning o'zida klassi A, B klasslaridan meros olyapti. Yuqorida aytganimizdek javada bir vaqtning o'zida bir necha klassdan meros olib bo'lmaydi.


18-dars - Overriding (qayta yuklash) Funksiyalari
Agar subclassimizdagi (bola klass) funksiya super(ota klass) klassimizdagi funksiya bilan bir xil bo'lsa, bu funksiyalar qayta yuklanuvchi funksiyalar deyiladi.

Javada qayta yuklanuvchi funksiyadan foydalanish:

  • Qayta yuklanuvchi funksiyadan avvaldan Ota klassda yaratib qo'yilgan funksiyaning o'ziga xos amalga oshirilishini ta'minlashda;

  • Qayta yuklanuvchi funksiyaning ishchi vaqt (runtime)da (ko'p formalik) polymorphismda

foydalaniladi.

Javada Qayta yuklanuvchi funksiya uchun qoidalar:

  • Funksiya super klass(ota) dagi funksiya nomi bilan bir xil bo'lishi kerak

  • Funksiya super klass(ota )dagi funksiya parametrlari bilan bir xil bo'lishi lozim

  • Klass meros olgan bo'lishi kerak

class Vehicle

{

void run()

{

System.out.println("Vehicle is running");

}

}


Download 1,32 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   41




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish