JavaRush /Kurslar /All lectures for UZ purposes /O'z funksiyalaringizni yaratish, parametrlarni uzatish

O'z funksiyalaringizni yaratish, parametrlarni uzatish

All lectures for UZ purposes
Daraja, Dars
Mavjud

1. Funksiyalar/Metodlar Java'da

Siz allaqachon Java'da ko'plab buyruqlarni o'rgangansiz, va bu sizga ancha murakkab dasturlar yozishingiz mumkinligini anglatadi. 10, 20, 30 qatorli kod dasturi — bu juda katta dastur emas, to'g'rimi?

Lekin, 100+ qatorli dastur esa — allaqachon katta, va uning kodini tushunib olish ancha murakkab. Shu yo'sinda, dastur yozish va o'qishni qandaydir osonlashtirish mumkinmi?

Ha, va bunda bizga metodlar (funksiyalar) yordam beradi.

Metod nima? Xo'sh, agar juda sodda qilib aytsak, metod — bu unik halaga ega buyruqlar guruhi. Boshqacha qilib aytganda, bir nechta buyruqlarni bir guruhga yig'ib, unga unik halata beramiz. Va hammasi shu — metod tayyor.

Misol:

Metodsiz Metod bilan
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

Chapdagi dasturda bir xil kodni uch marta takrorladik — biz shunday qildik. O'ngdagi dasturda biz takrorlanuvchi kodni alohida metodga ajratib qo'yib, unga unik halata berdik — printWiFi.

Va ajratilgan kod o'rniga 3 marta metodni chaqirish yozdik printWiFi().

O'ngdagi ustundagi dastur bajarilganda, har safar printWiFi() buyrug'i bajarilganda, metoddagi barcha buyruqlar bajariladi. Biz oddiygina yangi buyruq (metod) yaratdik, bir nechta buyruqlarni bir guruhga birlashtirib.

Har qanday kodni alohida metodlarga bo'lish mumkin. Bu soddalashtirish uchun qilinadi: ko'pgina kichik metodlarga ega bo'lish kattasiga qaraganda yaxshiroq deb hisoblansa. Tez orada siz o'zingizni dasturlaringizni yozib, lekin metodlaringizni yozmaganligingizga hayron bo'lasiz.


2. Java'da metodni e'lon qilish

Qanday qilib o'z metodingizni to'g'ri yozish kerak?

Metodni e'lon qilishda (yaratishda) ko'p nozikliklar mavjud, lekin boshlash uchun asosiy narsadan boshlaylik. Oddiy metodni qanday qilib e'lon qilish mumkin? Oddiy metodning e'lon qilish ko'rinishi shunday:

public static void nom()
{
   metod kodi
}

Bu yerda nom — metodning unik halatasi, a metod kodi — metodni tashkil etadigan buyruqlar. So'zlarning ma'nosi public, static va void keyinroq ko'rib chiqamiz.

Biz metodni yaratganimizdan so'ng, uni boshqa metodlarimizda chaqirishimiz mumkin. Chaqarish ko'rinishi shunday:

nom();

Bu yerda nom — chaqirmoqchi bo'lgan metodning unik halatasi, va uning buyruqlari chaqirilish joyida bajariladi.

Dastur buyrug'iga yetganda, bizning metodni chaqiruvchi, u oddiygina metodga o'tadi, barcha buyruqlarni bajaradi, asl metodga qaytadi va bajarishni davom ettiradi.

Siz allaqachon taxmin qilganingizdek, ilgari o'rganganimiz ko'pgina buyruqlar — bu oddiygina boshqa dasturchilar tomonidan yozilgan metodlar, bizga hayotimizni osonlashtirish uchun: System.out.println(), Thread.sleep(), va hokazo.

Metod kodi boshqa metodlarni chaqirishi mumkin:

Kod Esdalik
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Metod printWiFi10Times() chaqirilmoqda


Metod printWiFi10Times e'lon qilingan


printWiFi() metodini 10 marta chaqirish tsiklda


printWiFi metodi e'lon qilingan

Ekranda matn chiqariladi:
Wi-Fi

3. Metodlar haqida faktlar

Metodlar haqida bir nechta faktlar:

Fakt 1. Metod — har doim klassning qismidir.

Metodni faqat klass ichida e'lon qilish mumkin. Metodni boshqa metod ichida e'lon qilib bo'lmaydi. Metodni klass tashqarisida e'lon qilib bo'lmaydi.

Fakt 2. Metodning nomi ma'lum bir ma'noga ega emas

Metodlar qanday nomlanishi muhim emas — bu hech narsaga ta'sir qilmaydi. Main metodi — bu barcha boshqa metodlar kabi bir xil metod. Faqat Java-mashina dastur bajarilishini boshlaydigan metod uchun shu nom tanlandi. Unda hech qanday sehrli narsa yo'q.

Fakt 3. Klassdagi metodlarning tartibi muhim emas

Siz klassdagi metodlarni istalgan tartibda yozishingiz mumkin — bu dastur bajarilishiga hech qanday ta'sir qilmaydi. Misol:

Kod
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Fakt 4. Bir metod ichidagi o'zgaruvchilar boshqa metodlarning o'zgaruvchilari bilan bog'liq emas

Vegasda nima bo'lgan, Vegasda qoladi. Metod ichida e'lon qilingan o'zgaruvchilar shu metod ichida qoladi.

Qo'shni metodlarda bir xil o'zgaruvchilar e'lon qilinishi mumkin va bu o'zgaruvchilar bir-biri bilan hech qanday bog'liq emas.


4. Metodlar nomi

Dasturlashda eng qiyin muammolar — metodni to'g'ri nomlash va o'zgaruvchini nomlash.

Aslida, qanday qilib metodlarni to'g'ri nomlash haqida hatto bir fan ham mavjud. Va har bir dasturlash tilining o'z standartlari mavjud. Java'da quyidagi tamoyillarga amal qilish tavsiya etiladi:

Tamoyil 1. Metod nomi bu metodning nima qilayotganini qisqacha tasvirlashi kerak.

Shunda sizning kodni o'qiyotgan dasturchi, metodning nomiga qarab, bu kod nima qilishini taxmin qila oladi va har safar chaqirilayotgan metod kodini ko'rish kerak bo'lmaydi. Metodlarning maqsadini eslab qolish ham osonlashadi.

Thread.sleep() — «dasturani uxlatish» va Scanner.nextInt() — «keyingi butun sonni o'qish» ni eslang. Qulay, to'g'rimi.

Tamoyil 2. Metod nomi bir nechta so'zlardan iborat bo'lishi mumkin.

Lekin bu holat uchun ba'zi cheklovlar mavjud:

  • Metod nomida bo'sh joylar qo'yib bo'lmaydi: barcha so'zlar birgalikda yoziladi.
  • Har bir so'z katta harf bilan boshlanadi, birinchisidan tashqari.
  • Metod nomi har doim kichik harf bilan boshlanadi

printWiFi10Times metodini eslang. Uning nomi nimani anglatadi? «WiFi so'zini 10 marta yozish». Metod nomida ko'p so'z yozishga hojat yo'q: nom asosiy mohiyatni ifodalashi kerak.

Bunday nomlash usuli CamelCase (Camel — tuya. Katta harflar tuya o'rkachini eslatadi) deb ataladi.

Tamoyil 3. Metod nomi fe'l bilan boshlanadi.

Metod har doim nimadir qiladi, shuning uchun metod nomidagi birinchi so'z har doim harakat bo'ladi.

Yomon metod nomlari: home, cat, car, train, ...;

Yaxshi nomlar: run, execute, print, read, write, ...

Tamoyil 4. Faqat lotin harflari va raqamlarni ishlating

Java turli tillarni juda yaxshi qo'llab-quvvatlaydi. Siz o'zgaruvchilar, metodlar va klasslar nomlarini rus, xitoy va boshqa tillarda ham yozishingiz mumkin — hammasi ishlaydi!

Lekin! Agar System.out.println() metodining nomi xitoycha bo'lsa, Java'ni qancha muddat o'rgangansiz? Hozirgi muddatdan uzoqroq, to'g'rimi? Bu birinchidan.

Ikkinchidan, ko'pgina loyihalarda xalqaro jamoalar ishlaydi. Java kutubxonalarining katta qismi butun dunyo dasturchilari tomonidan ishlatiladi.

Shuning uchun, metodlar nomida faqat lotin harflari va raqamlar ishlatishni tavsiya etiladi.

Muhim:
Metod nomi har doim harf bilan boshlanishi kerak (raqam bilan emas).

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION