C#

Əvvəlki yeni başlayanlar üçün olan bloqlarımda gördüyünüz Main, WriteLine, ReadLine və s. sizcə nə idi?. Bu yazımda metodlar haqqında yazacam. Metod nədir? nə işə yarıyır? nə kimi üstünlükləri var? hansı növləri var? və s. kim suallara cavab tapacaqsınız.

Metodlar hər hansı bir işi görmək üçün hazırlanmış kod bloku kimi başa düşülə bilər. Metodun adı və gövdə hissəsi vardır. Metodlar çağırılan zaman gövdəsində olan kodlar işləyir. Metodlar çağırlımadıca heç bir iş görmürlər. Yəni onun gövdəsində olan kodlar işləmir. Metodun çağırılması üçün adından istifadə olunur. Buna görə metodun adını mənalı bir ad qoymaq vacibdir. Daha sonra həmin ada baxaraq onun gövdəsində nə işlərin getdiyini başa düşmək üçün metodun adını onun gördüyü işə uyğun qoymaq lazımdır. Yoxsa bir müddət sonra onun nə iş gördüyünü bilmək üçün hər dəfə gövdəsinə baxmalı olacaqsız. Metodlar dəyər(məlumat) ala və geriyə dəyər qaytara bilər. Metodun alacağı dəyərlər parametrlər deyilir.

Metodlar bizə aşağıdakı üstüklüklər verir. 

  1. Metodlar eyni kodların təkrar-təkrar yazılmağın qarşısını alır
  2. Kodun oxunaqlı olmasını artırır

Metod təməl qurluşu aşağıdakı kimidir.

returnType Name(parameterList)
{
  // body 
}

ReturnType geriyə qaytarılacağ dəyərin tipini müəyyən edir. Bu istənilən bir tip ola bilər misal üçün string, int  və s. Əgər sizin yaradacağınız metod geriyə dəyər qaytarmayacaqsa returnType yerinə void yazılmalıdır. Bu metodun geriyə heç bir məlumat qayarmayacağının göstərir.  Geriyə məlumat qayaracağınız metodların sonunda mütləq return sətri yazmalısınız. Return-dən sonra qaytarılacağ dəyər və nöqtəli vergül yazılmalıdır. returnType-la qaytarılacaq dəyər eyni tipdə olmalıdır. Məsələn metod yaradan zaman returnTypeint olaraq qeyd etmisinizsə deməli return-dən sonra int tipində dəyişən və ya nəticəsi int tipində olan ifadə yazmalısınızı. Return-dən sonra eyni blok icərisində heç bir kod işləməz. Bu bizə daha oxunaqlı kod yazmağa imkan verir.

Name metodun adını müəyyənləşdirir. Dəyişən adları üçün olaq qaydalar metod adları üçün də keçərlidir. 

Body hissəsi metodun gövdəsi sayılır. Metodun gövdəsi fiqurlu mötərizə ilə qapanır və ora istədiyiniz sayda sətr kod yaza bilərsiz hansı ki metod çağırılanda işləyəcək. Amma mən sizə metodun gövdəsində 10 sətrdən artıq kod yazmamağınızı məsləhət görürəm. Çalışın ki, hər metod yalınız bir iş görsün. Bir metod bir neçə iş görərsə həmin işləri ayrı ayrı metodlara bölün. Beləcə kodunuz daha aydın və oxunaqlı olacaq.

Bir neçə misala baxaq. İlk olaraq ən sadə, geriyə dəyər döndərməyən və parametrsiz metoda baxaq. 

void SimpleMethod()
{
   Console.WriteLine("Salam dunya");
}

Indi isə iki ədədi paramtr kimi alıb onları cəmləyib ekrana yazdıran metod yazaq.

void CalculateSumAndDisplay(int firstValue, int secondValue)
{
   int sum = firstValue + secondValue;
   Console.WriteLine(sum);
}

Deyək ki, biz istəyirik ki metod iki ədədi cəmləsin amma nəticəni ekrana yazdırmasın geri qaytarsın. Bunun üçün yuxardakı metodda bir balaca dəyişiklik etməliyik. Birinci void-i silməliyik və onun yerinə geriyə qayıdacaq dəyərin tipini yazmalıyıq. Bu bizim misalımızda int olacaq. İkinci Console.WriteLine() silməliyik və onun yerinə nəticəni geri qaytarması üçün return və qayrılacaq dəyər yazırıq.

int CalculateSum(int firstValue, int secondValue)
{
   int sum = firstValue + secondValue;
   return sum;
}

Metodların çağırılması

Metodlar hər hansısa bir classın içərisində yaradılır. Siz bu metodu başqa bir metodun içərisindən çağırmaq üçün həmin classın obyektin yaratmalısınız ya da həmin metodu static edib classın obyektini yaratmadan bir başa classın adından istifadə edərək çağıra bilərsiz.

Main, WriteLine və ReadLine

Visual studio-da console proqram yaradan zaman qarşınıza ilk olaraq Proqram classı və onun içərisində Main metodu çıxır.

static void Main(string[] args)
{
            
}

İndi bu metoda baxanda çox şeyi baş düşürük. Metod geriyə dəyər qaytarmır çünki void yazılıb, metodu adı Main -dır və parametir olaraq args adlı tipi string[] olan bir dəyər alır. Burada static string[]sözləri sizlərə tanış olmaya bilər. Əgər bunları bilmirsizsə buna görə narahat olmayın. Növbəti yazılarımda bunlar haqqında ətraflı yazacağam. Bu metod proqramın giriş nöqtəsidir. Siz proqramı işlədən zaman proqram birinci bu metoddan işləməyə başlayır. 

WriteLine metodu isə Console classının içərisində olan metoddur. Həmin metoda ötürdüyümüz dəyəri ekrana yazdırır. Static metod olduğu üçün classın adından istifadə edərək yəni Console.WriteLine() kimi yazıb çağıra bilirik.

ReadLine metodu da Console classının içərisində olan metoddur. Bu metod isə ekrana istifadəçi tərəfindən yazılmış dəyəri oxumaq üçün istifadə olunur. Bu da static metoddur ona görə Console.ReadLine() kimi yazıb çağıra bilirik.

Sadə proqram

İndi isə sadə bir proqram hazırlayaq. İstifadəçi tərəfindən daxil edilmiş iki ədədi toplayıb istifadəçiyə qaytaraq. 

Birinci Visual Studio da yeni bir Console proqram yaradaq adını isə Methods olaraq adlandıraq.

İstifadəçidən toplanmasını istədiyimi iki ədədin daxil etməsini istəyək.

Console.WriteLine("Birinci ededi daxil edin: ");
int firstValue = int.Parse(Console.ReadLine());

Console.WriteLine("İkinci ededi daxil edin: ");
int secondValue = int.Parse(Console.ReadLine());

Bundan sonra cəməyici metodumuzu hazırlayaq. 

static int CalculateSum(int firstValue, int secondValue)
{
      int sum = firstValue + secondValue;
      return sum;
 }

Qeyd: Burada biz CalculateSum metodunu static etdik. Çünki Main metodu static-dir.

Proqramımız aşağıdakı kimi olacaqdır. 

Proqramı hazırladıqdan sonra işə salıb istədiyinin ədədləri daxil edib nəticəsini görə bilərsiz.

Qeyd: Biz burada istifadəçinin daxil etdiyi dəyərlərin rəqəm tipli yoxsa mətin tipli olmasını yoxlamırıq. Çünki bu bir öyrətmək məqsədli test bir proqramdır.

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir