Metod nomi — dasturchi tomonidan o‘ylab topilgan va maxsus belgilardan farqlanuvchi nom.
Parametrlar ro‘yxati — metod ishlatadigan parametrlar. Ular vergul(,) orqali ajratiladi va ketma-ketligi ahamiyatga ega. Ba’zi hollarda parametrlar umuman bo‘lmasligi ham mumkin, unda qavsning o‘zi yoziladi holos.
Endi misol ko‘ramiz, hajm hisoblaydigan dastur tuzamiz.
«Cube» nomli klass yaratildi, klass tanasida o‘zgaruvchilar e’lon qilindi(o‘zgaruvchi ruxsatlari keyingi maqolalarda). Shundan so‘ng metod e’lon qilindi(6-qator). «Void» demak bu metod hech qanday tip qaytarmaydi. Metod nomi «volume» va uning umuman parametri yo‘q. Metod bajaradigan vazifa, ekranga «Ҳажм» degan so‘zni chiqaradi va klassda e’lon qilingan 3 ta o‘zgaruvchini ko‘paytirib, natijani chiqarish. 3 ta o‘zgaruvchi ob’yekt yaratilgandan so‘ng, qiymatlarni oladi.
Dasturni ishga tushirganingizdan so‘ng, «main()» metodi ishga tushadi va 13, 14 -chi qatorlar ishlaydi. Bu qatorlarda, «Cube» klassiga tegishli yangi ob’yektlar(myCube1, myCube2) hosil qilindi. So‘ng, har bir ob’yektga, klassda yaratilgan o‘zgaruvchilari uchun qiymatlar berildi(15-20 qatorlar).
21,22-qatorlarda, «Cube» klassidagi «volume» nomli metod chaqirildi, shu paytda kompilyator berilgan metodni «Cube» nomli klassdan qidiradi va topib, shu metodni ishga tushiradi. Bu metod berilgan uchta o‘zgaruvchini ko‘paytmasini hisoblab, ekranga chiqaradi.
Demak, metod oddiy protsedura ekan holos, dastlab asosiy dastur kodi ishlaydi, keyin qayerdadir bu metod chaqiriladi, boshqaruv o‘sha metodga beriladi, metod o‘z ishini bajaradi va yana boshqaruvni asosiy dasturga beradi.
YUqoridagi dasturni metod yaratmasdan ham tuzish mumkin, bunda kod biroz ko‘proq bo‘ladi, metod chaqirgan qator o‘rniga quyidagilarni yozib, ko‘paytmani hisoblash mumkin.
System.out.println(myCube1.width * myCube1.height * myCube1.depth);
System.out.println(myCube2.width * myCube2.height * myCube2.depth);
YUqorida aytib o‘tganimdek, metodlar biror parametrlarni ham qabul qilishi mumkin.
1
2
3
4
5
6
7
8
9
10
11
12
13
package dog;
class Cube {
int strong(int a) {
int sum=a*a*a;
return sum;
}
}
class Dog {
public static void main(String args[]) {
Cube cube1 = new Cube();
System.out.println(cube1.strong(2));
}
}
«Cube» klassining «strong» nomli metodi «int» tipini qaytaradi, shuning uchun «int» tipli «sum» o‘zgaruvchi «return» kalit so‘zi orqali metodning qaytaruvchi parametri shaklida berildi(return sum).
Metod chaqirilayotganda, metodning «a» nomli parametri mavjud, shuning uchun «a» o‘zgaruvchiga biror «int» tipli qiymat berildi(cube1.strong(2)). Metod shu qiymatni olib, o‘z ishini boshlaydi va natijani «sum» o‘zgaruvchisi sifatida qaytardi va asosiy menyuda bu o‘zgaruvchi ekranga chiqarildi.
Istalgancha ob’yekt yaratib, istalgancha metodni chaqirib ishlatish mumkin. Bitta ob’yekt uchun, bir necha marotaba metodni chaqirish ham mumkin.
Java dasturlash tilini o‘rganishni davom ettiramiz. Darslar borgan sari qiyinlashib bormoqda, shuning uchun har bir maqolani diqqat bilan o‘qib, tushunmasangiz, adabiyotlar orqali ham qaytadan takrorlashingizni maslahat beraman. Kodlarni yodlab qolish shart emas, asosiysi ma’nosini tushunib oling.
Maqolalar mobaynida, ob’yektga yo‘naltirilgan dasturlash yo‘nalishini o‘rganishni boshlagan edik, ya’ni klassslar, ob’yektlar, metodlar haqida ma’lumotlarga ega bo‘ldik. Bu maqolada shu yo‘nalishni davom ettiraman. Klass ichidagi o‘zgaruvchilar va metodlarga tegishli bo‘lgan ruxsatlar bilan tanishamiz.
Keling, dastlab klasslarga oid bir misolni ko‘ramiz.
1
2
3
4
5
6
7
8
9
10
11
package misol;
class son
{ int var1=10;
int sum(int var2)
{ return var1*var2;
}}
public class Misol {
public static void main(String[] args) {
son mm = new son();
System.out.println(mm.sum(5));
}}
Demak, dasturda «son» nomli klass hosil qilindi, uning «var1» degan o‘zgaruvchisi bor, qiymati «10» ga teng. Undan tashqari bu klassda «sum» degan metod bor va u «int» tipini qaytaradi. Bu metod bitta «int» tipidagi parametr qabul qiladi. Natija sifatida, «var1» va «var2» o‘zgaruvchilar ko‘paytmasi qaytariladi.
Asosiy metodda(main()), «son» klassining «mm» nomli ob’yekti hosil qilindi va bu ob’yekt orqali «sum» metodi chaqirilib, «var2» o‘zgaruvchi sifatida «5» soni berildi va qiymat ekranga chiqarildi.
Bu misolda, klass o‘zgaruvchisi(var1) va klass metodi(sum) hech qanday ruxsatni bildiradigan kalit so‘z orqali ifodalanmagan. Demak, bu o‘zgaruvchi va metodga odatiy ruxsat beriladi(klass a’zolari faqat shu paketda ishlatilishi mumkin).
Klass metodlari va o‘zgaruvchilariga quyidagi ruxsatlar berilishi mumkin.