Algoritmlash asoslari


Yuklanma funksiya parametiri va argumentlari bilan farq qilishga misol



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

Yuklanma funksiya parametiri va argumentlari bilan farq qilishga misol

Funksiya nomlari o'xshash lekin argumetlari bilan farq qiladi

class DisplayOverloading {

public void disp(char c)

{

System.out.println(c);

}

public void disp(char c, int num)

{

System.out.println(c + " "+num);

}

}
class Sample

{

public static void main(String args[])

{

DisplayOverloading obj = new DisplayOverloading();

obj.disp('a');

obj.disp('a',10);

}

}

Ekrada :

a

a 10

Yuqoridagi misolda disp() funksiyasi yuklanma funksiya shaklida yaratilyapti. Bunda funksiyalar bir biridan argumetlar soni bilan farqlanyapti.

Yuklanma funksiya – ma'lumot turlari bilan farq qilishi

class DisplayOverloading2

{

public void disp(char c)

{

System.out.println(c);

}




public void disp(int c)

{

System.out.println(c );

}

}




class Sample2

{

public static void main(String args[])

{

DisplayOverloading2 obj = new DisplayOverloading2();

obj.disp('a');

obj.disp(5);

}

}

Ekranda:

a

5

Yuklanma – ma'lumot turlarining ketma-ketligi bilan farq qilishi.

class DisplayOverloading3

{

public void disp(char c, int num)

{

System.out.println("Bu birinchi disp() methodi ");

}

public void disp(int num, char c)

{

System.out.println("Bu ikkinchi disp() methodi " );

}

}

class Sample3

{

public static void main(String args[])

{

DisplayOverloading3 obj = new DisplayOverloading3();

obj.disp('x', 51 );

obj.disp(52, 'y');

}

}

Ekranda:

Bu birinchi disp() methodi

Bu ikkinchi disp() methodi

Bu misolda yuklanma funksiyasi shaklida yaratilgan disp() funksiyalari bor ular bir-biridan ma'lumot turlarining ketma-ketligi bilan farq qilyapti. Ya'ni ma'lumot turlarini joylashuvi.

Ishlatish mumkin bo'lgan va mumkin bo'lmagan yuklanma funksiyalarni qisqacha ta'riflari

1 – holat:

int mymethod(int a, int b, float c)

int mymethod(int var1, int var2, float var3)

Natija: Compile time error. Chunki bu funksiyalarni argumentlari, ma'lumot turlarini ketma-ketligi va ma'lumot turlari bir xil. Dastur ishga tushgan paytida qaysi bir funksiyaga murojaat qilishni tanlay olmaydi ya'ni bu funksiyalarni farqlay olmaydi.

2 – holat:

int mymethod(int a, int b)

int mymethod(float var1, float var2)

bu funksiyalar ishalatishga yaroqli chunki, funksiyalar bir-biridan ma'lumot turlari bilan farq qilyapti.

3 – holat:

int mymethod(int a, int b)

int mymethod(int num)

bu funksiyalar ishalatishga yaroqli chunki, funksiyalar bir-biridan raqamlar argumenti bilan farq qilyapti.

4 -holat:

float mymethod(int a, float b)

float mymethod(float var1, int var2)

bu funksiyalar ishalatishga yaroqli chunki, funksiyalar ma'lumotlar ketma-ketligi bilan farq qilyapti(joylashuvi)

5 – holat:

int mymethod(int a, int b)

float mymethod(int var1, int var2)

Natija: Compile time error. Chunki bu funksiyalar turli xil turdagi ma'lumotlarni qaytaryapti birinchi funksiya ikkinchisi float.

  • void sum(int a,long b)

  • void sum(long a,int b)

Natija: Compile time error. Bu holatda ma'lumot turlari har xil bo'lgani bilan ikkala funksiya ham butun sonlarni saqlovchi tur shuning uchun dastur xato beradi.
15-dars - Javada konstruktor.
Konstruktor klass nomidagi funskiyadir. Javada konstruktorlar ob’yektni ishga tushurish uchun maxsus usuldir. Java konstruktor ob’yekt yaratish vaqtida chaqiriladi

Javada konstruktor yaratish qoidalari:

  • Konstruktor klass nomi bilan o'xshash bo'lishi kerak

  • Konstruktor noaniq ma'lumot turiga ega bo'lishi kerak

Konstruktorni ikkita turi mavjud:

  • Argumentsiz konstruktorlar

  • Parametrlik konstruktorlar

Konstruktorga oddiy misol:

Bu misolda argumentsiz Bike1 konstruktor yaratildi. Ob’yekt yaratilishi vaqtida konstruktorni ishlatadi.

Source code

     

  • class Bike1 {

  •  

  • Bike1() {

  • System.out.println("Bike is created");

  • }

  •  

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

  •  

  • Bike1 b = new Bike1();

  •  

  • }

  •  

  • }



Majburiy konstruktorga misol

Majburiy konstruktorga misol

Source code

     

  • class Student3 {

  •  

  • int id;

  •  

  • String name;

  •  

  • void display() {

  • System.out.println(id+" "+name);

  • }

  •  

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

  •  

  • Student3 s1=new Student3();

  •  

  • Student3 s2=new Student3();

  •  

  • s1.display();

  •  

  • s2.display();

  •  

  • }

  •  

  • }

ekranda:

0 null

0 null


Parametrga ega bo’lgan konstruktor

Source code

     

  • class Student4 {

  •  

  • int id;

  •  

  • String name;

  •  

  • Student4(int i,String n) {

  •  

  • id = i;

  •  

  • name = n;

  •  

  • }

  •  

  • void display() {

  • System.out.println(id+" "+name);

  • }

  •  

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

  •  

  • Student4 s1 = new Student4(111,"Akmal");

  •  

  • Student4 s2 = new Student4(222,"Zafar");

  •  

  • s1.display();

  •  

  • s2.display();

  •  

  • }

  •  

  • }

Ekrada:

111 Akmal

222 Zafar
Konstruktor va funksiya orasidagi farqlar


Konstruktor

Funksiya

Konstruktordan ob’yektni dastlabki holatini bilish uchun foydalaniladi

Funksiya ob’yektni harakterini ifodalashda foydalaniladi

Konstruktor ma'lumot qaytarmaydi

Funksiya ma'lumot qaytaradi

Konstruktor bilvosita chaqiriladi

Funksiya oshkora chaqiriladi

Konstruktor bilvosita chaqiriladi

Kompilyatsiyada funksiya yaratilmaydi

Agar konstruktor bo'lmasa, java kompilyator majburiy konstruktor yaratadi

Kompilyatsiyada funksiya yaratilmaydi

Konstruktor nomi klass nomi bilan bir xil bo'ladi

Funksiya nomi o'xshashi yokiy o'xshamasligi mumkin


Konstruktordan nusxa(copy) olish

Source code

     

  • class Student6{

  •  

  • int id;

  •  

  • String name;

  •  

  • Student6(int i,String n){

  •  

  • id = i;

  •  

  • name = n;

  •  

  • }

  •  

  • Student6(Student6 s){

  •  

  • id = s.id;

  •  

  • name =s.name;

  •  

  • }

  •  

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

  •  

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

  •  

  • Student6 s1 = new Student6(111,"Akmal");

  •  

  • Student6 s2 = new Student6(s1);

  •  

  • s1.display();

  •  

  • s2.display();

  •  

  • }

  •  

  • }

ekranda :

111 Akmal

111 Akmal


Download 1,32 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   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