Delegate void Message


Download 184.94 Kb.
bet7/11
Sana16.06.2023
Hajmi184.94 Kb.
#1516542
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Amaliyot ishi Dasturlash texnologiyalari

Metodlar.
Agar o'zgaruvchilar va konstantalar ma'lum qiymatlarni saqlasa, u holda metodlar ma'lum harakatlarni bajaradigan operatorlar to'plamini o'z ichiga oladi.
Metodlarning umumiy ta'rifi quyidagicha:
[modifikatorlar] qaytaradigan_qiymat_turi usuli_nomi ([parametrlar]){
// usul tanasi
}
Modifikatorlar va parametrlar ixtiyoriy.
Odatiy bo'lib, har qanday Java dasturining asosiy klassi dasturga kirish nuqtasi bo'lib xizmat qiladigan main metodni o'z ichiga oladi:
public static void main(String[] args) {
System.out.println("hello world!");
}
public va static kalit so'zlar modifikatorlardir. Keyin qaytish turi keladi. Void kalit so'zi metod hech narsa qaytarmasligini bildiradi.
Keyin metodning nomi - asosiy va qavs ichida usulning parametrlari - String[] args keladi. Va metodning tanasi jingalak qavslar bilan o'ralgan - u bajaradigan barcha harakatlar.
Keling, yana bir nechta usullarni yarataylik:
public class Program{
public static void main (String args[]){
}
void hello(){
System.out.println("Hello");
}
void welcome(){
System.out.println("Welcome to Java 10");
}
}
Bu erda ikkita qo'shimcha metod aniqlanadi: hello va welcome, ularning har biri konsolga bir nechta satrni chop etadi. Metodlar sinf ichida - bu holda main metodni belgilaydigan Program sinfida aniqlanadi.
Ammo agar biz ushbu dasturni kompilyatsiya qilsak va ishga tushirsak, konsolda hech narsa ko'rmaymiz. Yuqoridagi misolda biz ikkita metodni aniqladik, lekin biz ularni hech qanday joyda chaqirmaymiz. Odatda Java dasturida faqat main metod va uning barcha mazmuni bajariladi. Shuning uchun, agar biz boshqa metodlar ham bajarilishini istasak, ular asosiy usulda chaqirilishi kerak.
Metod chaqiruvi quyidagi shaklda amalga oshiriladi:
metod_nomi (argumentlar);
Metod nomidan keyin qavslar ko'rsatiladi, unda argumentlar - metod parametrlari uchun qiymatlar ko'rsatilgan.
Masalan, bir nechta metodlarni aniqlaymiz va bajaramiz:
public class Program{
public static void main (String args[]){
hello();
welcome();
welcome();
}
static void hello(){
System.out.println("Hello");
}
static void welcome(){
System.out.println("Welcome to Java 10");
}
}
main metodda hello metodi bir marta va welcome metodi ikki marta chaqiriladi. Bu metodlarning afzalliklaridan biri: biz ba'zi umumiy harakatlarni alohida metodga o'tkazishimiz va keyin ularni dasturning turli joylarida qayta-qayta chaqirishimiz mumkin. Ikkala metod ham parametrlarga ega emasligi sababli, ular chaqirilganda ularning nomlaridan keyin bo'sh qavslar qo'yiladi.
Shuni ham ta'kidlash kerakki, main metod bilan bir sinfda aniqlangan boshqa metodlarni main metodda chaqirish uchun ular statik modifikatorga ega bo'lishi kerak.
Natijada, dasturni kompilyatsiya qilish va bajarishdan so'ng biz konsolda ko'ramiz:

Parametrlar yordamida biz turli xil ma'lumotlarni hisob-kitoblar uchun ishlatiladigan metodlarga o'tkazishimiz mumkin. Masalan:
static void sum(int x, int y){
int z = x + y;
System.out.println(z);
}
Ushbu funktsiya ikkita parametrni oladi - ikkita raqam, ularni qo'shadi va ularning yig'indisini konsolda chop etadi.
Va dasturda ushbu metodni chaqirganda, parametr turiga mos keladigan parametrlar o'rniga qiymatlarni o'tkazishimiz kerak:
public class Program{
public static void main (String args[]){
int a = 6;
int b = 8;
sum(a, b); // 14
sum(3, a); // 9
sum(5, 23); // 28
}
static void sum(int x, int y){
int z = x + y;
System.out.println(z);
}
}
Sum metodi ikkita int qiymatini qabul qilganligi sababli, parametrlar o'rniga ikkita int qiymatini o'tkazish kerak. Bular int turini ifodalovchi yoki avtomatik ravishda int turiga o'zgartirilishi mumkin bo'lgan ma'lumotlar turlarining raqamli harflari va o'zgaruvchilari bo'lishi mumkin. Parametrlar o'rniga berilgan qiymatlar argumentlar deb ham ataladi. Qiymatlar parametrlarga pozitsiya bo'yicha o'tkaziladi, ya'ni birinchi argument birinchi parametrga, ikkinchi argument ikkinchi parametrga va hokazo.
Boshqa misolni ko'rib chiqing:
public class Program{
public static void main (String args[]){
display("Tom", 34);
display("Bob", 28);
display("Sam", 23);
}
static void display(String name, int age){
System.out.println(name);
System.out.println(age);
}
}
display metodi ikkita parametrni oladi. Birinchi parametr String turiga, ikkinchisi esa int turiga ega. Shuning uchun, metodni chaqirganda, avval unga satrni, keyin esa raqamni o'tkazish kerak.
Metod bir xil turdagi o'zgaruvchan uzunlik parametrlarini qabul qilishi mumkin. Misol uchun, biz raqamlar to'plamini metodga o'tkazishimiz va ularning yig'indisini hisoblashimiz kerak, ammo qancha raqam o'tkazilishini aniq bilmaymiz - 3, 4, 5 yoki undan ko'p. O'zgaruvchan uzunlik parametrlari bu muammoni hal qiladi:
public class Program{
public static void main (String args[]){
sum(1, 2, 3); // 6
sum(1, 2, 3, 4, 5); // 15
sum(); // 0
}
static void sum(int ...nums){
int result =0;
for(int n: nums)
result += n;
System.out.println(result);
}
}
Int ...nums parametri nomi oldidagi 3nuqta uning ixtiyoriy bo‘lishini va massivni ifodalashini bildiradi. Yig'indi usuliga bitta raqamni, bir nechta sonni o'tkazishimiz mumkin yoki umuman parametrlarni o'tkaza olmaymiz. Bundan tashqari, agar biz bir nechta parametrlarni o'tkazmoqchi bo'lsak, oxirida ixtiyoriy parametr ko'rsatilishi kerak:
public static void main(String[] args) {
sum("Welcome!", 20,10);
sum("Hello World!");
}
static void sum(String message, int ...nums){
System.out.println(message);
int result =0;
for(int x:nums)
result+=x;
System.out.println(result);
}


Download 184.94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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