1. Java-da Funksiyalar/Metodlar
Artıq Java-da çoxlu sayda komandaları öyrəndiniz və bu, o deməkdir ki, kifayət qədər mürəkkəb proqramlar yaza bilərsiniz. Proqramda 10, 20, 30 sətirlik kod — o qədər də böyük proqram deyil, elə deyilmi?
Amma 100+ sətirlik proqram artıq böyükdür və onun kodunu başa düşmək bir az çətindir. Bəs çox sayda kodu olan proqramların yazılmasını və oxunmasını necə asanlaşdıra bilərik?
Bəli, bunu metodlar (funksiyalar) ilə edə bilərik.
Bəs metod nədir? Vallah, çox sadə desək, metod — unikal addan ibarət bir qrup komandadır. Başqa sözlə, sadəcə bir neçə komandaları bir qrupa birləşdiririk və ona unikal ad veririk. Vəssalam — metod hazırdır.
Nümunə:
Metodsuz | Metod ilə |
---|---|
|
|
Sol sütundakı proqramda eyni kodu üç dəfə təkrar etmişik — bunu nümunə üçün xüsusi olaraq etdik. Sağdakı proqramda isə təkrarlanan kodu ayrıca bir metoda çıxardıq və ona unikal ad verdik — printWiFi
.
Və çıxardığımız kodun əvəzinə 3 dəfə metodun çağırışını yazdıq — printWiFi()
.
Sağ sütundakı proqram icra olunanda, hər dəfə printWiFi()
əmri işə düşəndə, metodun içindəki bütün komandalar yerinə yetiriləcək. Biz sadəcə bir neçə komandaları bir qrupa birləşdirərək yeni bir əmr (metod) yaratdıq.
Hər hansı kodu ayrıca metodlara bölmək olar. Bu, işi asanlaşdırmaq üçün edilir: deyilir ki, bir böyük metoddan çox, kiçik metodların çox olması daha yaxşıdır. Tezliklə siz bir zamanlar öz proqramlarınızı yazdığınız, amma metodlarınızı yazmadığınız üçün təəccüblənəcəksiniz.
2. Java-da metod elan etmək
Bəs necə düzgün şəkildə öz metodumuzu yaza bilərik?
Metod elan edərkən (yəni yaradanda) bir çox incəliyi nəzərə almaq lazımdır, amma gəlin əsasdan başlayaq. Ən sadə metodu elan etmək üçün nə etməliyik? Sadə bir metodun elanı belə görünür:
public static void ad()
{
metodun kodu
}
Burada ad
— metodun unikal adı, metodun kodu
isə metodun tərkibində olan əmrlərdir. public
, static
və void
kimi sözləri isə daha sonra ətraflı öyrənəcəyik.
Metodu yaratdıqdan sonra onu digər metodlarımızda çağıra bilərik. Çağırış belə görünür:
ad();
Burada ad
— çağırmaq istədiyimiz metodun unikal adı və həmin metodun əmrlərini icra etmək üçün lazım olan yerdir.
Proqram bizim metod çağırışımıza çatanda, sadəcə həmin metoda keçəcək, onun bütün əmrlərini icra edəcək, ilkin metoda qayıdacaq və icranı davam edəcək.
Yəqin ki, artıq anlamısınız, əvvəllər öyrəndiyimiz bir çox əmrlər əslində digər proqramçılar tərəfindən bizim işimizi asanlaşdırmaq üçün yazılmış metodlardır: System.out.println()
, Thread.sleep()
və s.
Metodun kodunda digər metod çağırışları ola bilər:
Kod | Qeyd |
---|---|
|
Metodu çağırırıq printWiFi10Times() Metodu elan edirik printWiFi10Times Döngüdə metodu çağırırıq printWiFi() 10 dəfəMetodu elan edirik printWiFi Ekrana yazdırırıq: |
3. Metodlar haqqında faktlar
Metodlar haqqında bir neçə fakt:
Fakt 1. Metod həmişə bir class-ın hissəsidir.
Metodu yalnız class daxilində elan etmək olar. Metodu başqa bir metodun içində elan etmək mümkün deyil. Metodu class-dan kənarda elan etmək mümkün deyil.
Fakt 2. Metodun adı xüsusi bir mənaya malik deyil
Metodların adlarının nə olduğu fərq etmir — bu heç bir şeyə təsir etmir. Main metodu da digər metodlar kimi eyni funksiyaya malikdir. Sadəcə Java maşını proqramın icrasına başladığı metodu belə adlandırmağı seçib. Burada heç bir sirli məqam yoxdur.
Fakt 3. Class-dakı metodların sırası vacib deyil
Class daxilində metodlarınızı hər hansı bir sırayla yazmaq olar — bu proqramın icrasına heç bir təsir göstərmir. Misal:
Kod | |
---|---|
|
|
Fakt 4. Bir metodun daxilindəki dəyişənlər digər metodların dəyişənləri ilə əlaqəli deyil
Veqasda baş verənlər, Veqasda qalır. Metod daxilində elan olunan dəyişənlər də həmin metod daxilində qalır.
Yaxınlıqdakı iki metoddakı dəyişənlər eyni adlara malik ola bilər və bu dəyişənlər bir-birinə heç bir şəkildə təsir etmir.
4. Metodların adları
Artıq çoxdan məlumdur ki, proqramlaşdırmada iki ən çətin məsələ var — metodu necə düzgün adlandırmaq və dəyişəni necə adlandırmaq.
Əslində, artıq metodların adlandırılması haqqında demək olar ki, bir elm var. Və hər proqramlaşdırma dilinin öz standartları var. Java-da bu prinsiplərə riayət etmək qəbul edilir:
Prinsip 1. Metodun adı onun nə etdiyini qısa şəkildə təsvir etməlidir.
Onda kodunuzu oxuyan proqramçı metodun adı ilə onun nə etdiyini anlayacaq və hər dəfə çağırılan metodların koduna baxmağa ehtiyac olmayacaq. Həm də metodların məqsədini yadda saxlamaq daha asandır.
Məsələn, Thread.sleep()
— “programı yatızdır” və Scanner.nextInt()
— “növbəti tam ədəd oxu”. Rahatdır, elə deyilmi?
Prinsip 2. Metodun adı bir neçə sözdən ibarət ola bilər.
Ancaq bu halda bir neçə məhdudiyyət var:
- Metodun adında boşluqlar yazmaq olmaz: bütün sözlər ardıcıl yazılır.
- Hər bir söz böyük hərflə yazılır, birincidən başqa.
- Metodun adı həmişə kiçik hərflə yazılır.
Məsələn, printWiFi10Times
metodu. Bu ad nə deməkdir? “WiFi sözünü 10 dəfə yaz”. Çox söz yazmağa ehtiyac yoxdur: ad əsas məqama işarə etməlidir.
Bu cür yazı standartı CamelCase adlanır (Camel — dəvə. Böyük hərflər dəvənin hörgüclərinə bənzəyir).
Prinsip 3. Metodun adı fel ilə başlamalıdır.
Metod həmişə nəsə edir, buna görə də metodun adındakı ilk söz həmişə hərəkəti ifadə edir.
Metod üçün pis adlar: home
, cat
, car
, train
, ...;
Yaxşı adlar: run
, execute
, print
, read
, write
, ...
Prinsip 4. Yalnız latın hərflərindən və rəqəmlərdən istifadə edin
Java müxtəlif dilləri çox yaxşı dəstəkləyir. Dəyişənlərin, metodların və siniflərin adlarını istəsəniz, rus, istəsəniz, çin dilində yazın — hər şey işləyəcək!
Ancaq! Əgər System.out.println()
metodu çin dilində adlansaydı, Java-nı öyrənmək nə qədər vaxt aparardı? İndikindən daha uzun çəkərdi, elə deyilmi? Bu, birincisi.
İkincisi, bir çox layihələrdə beynəlxalq komandalar çalışır. Dünyanın hər yerindən olan proqramçılar Java kitabxanalarından istifadə edir.
Ona görə də metodların adında yalnız latın hərflərindən və rəqəmlərdən istifadə etmək tövsiyə olunur.
GO TO FULL VERSION