MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Metode

Dacă variabilele stochează anumite valori, metodele conțin un set de instrucțiuni care îndeplinesc acțiuni specifice. În esență, o metodă este un bloc de cod denumit care îndeplinește anumite acțiuni.

Definiția generală a metodelor arată astfel:

[modificatori] tip_returnat nume_metodă ([parametri])
{
   // corpul metodei
}

Modificatorii și parametrii sunt opționali.

Anterior, am folosit cel puțin o metodă - Console.WriteLine(), care afișează informații pe consolă. Acum să vedem cum putem crea propriile noastre metode.

Definirea unei metode

Să definim o metodă:

void SayHello()
{
   Console.WriteLine("Hello");
}

Aici este definită metoda SayHello, care afișează un mesaj. Denumirile metodelor trebuie să respecte aceleași reguli ca și denumirile variabilelor. Totuși, de obicei, denumirile metodelor încep cu literă mare.

Înainte de numele metodei apare tipul de returnare. Aici este tipul void, care indică faptul că metoda nu returnează nimic, ea doar execută anumite acțiuni.

După numele metodei, în paranteze, urmează lista de parametri. În acest caz, parantezele sunt goale, ceea ce înseamnă că metoda nu primește niciun parametru.

După lista de parametri, în acolade, se află blocul de cod care reprezintă setul de instrucțiuni executate de metodă. În acest caz, blocul metodei SayHello conține o singură instrucțiune care afișează un șir pe consolă:

Console.WriteLine("Hello");

Dar dacă rulăm acest proiect, nu vom vedea niciun șir afișat de metoda SayHello. Pentru că, după definire, metoda trebuie să fie apelată pentru a-și îndeplini funcția.

Apelarea metodelor

Pentru a folosi metoda SayHello, trebuie să o apelăm. Pentru apelarea unei metode, se specifică numele acesteia, urmat de paranteze care conțin valorile parametrilor (dacă metoda primește parametri).

nume_metodă (valori_parametri_metodă);

De exemplu, apelul metodei SayHello arată astfel:

SayHello();

Deoarece metoda nu primește niciun parametru, după numele metodei urmează paranteze goale.

Să combinăm definirea și apelul metodei:

void SayHello()
{
   Console.WriteLine("Hello");
}

SayHello(); // Hello
SayHello(); // Hello

Ieșirea pe consolă a programului:

Hello
Hello

Avantajul metodelor este că pot fi apelate de mai multe ori în diferite părți ale programului. De exemplu, în exemplul de mai sus, metoda SayHello este apelată de două ori.

În acest caz, nu contează dacă metoda este definită înainte sau după apelare. De exemplu, am putea scrie și astfel:

SayHello(); // Hello
SayHello(); // Hello

void SayHello()
{
   Console.WriteLine("Hello");
}

Să definim și să apelăm alte câteva metode:

void SayHelloRo()
{
   Console.WriteLine("Salut");
}
void SayHelloEn()
{
   Console.WriteLine("Hello");
}
void SayHelloFr()
{
   Console.WriteLine("Salut");
}

string language = "en";

switch (language)
{
   case "en":
       SayHelloEn();
       break;
   case "ro":
       SayHelloRo();
       break;
   case "fr":
       SayHelloFr();
       break;
}

Aici sunt definite trei metode: SayHelloRo(), SayHelloEn() și SayHelloFr(), care au de asemenea tipul void, nu primesc niciun parametru și afișează un șir pe consolă. Aceste metode afișează un mesaj de salut în limbi diferite.

În construcția switch, se verifică valoarea variabilei language, care stochează codul limbii, și, în funcție de valoarea acesteia, este apelată metoda corespunzătoare. Astfel, în acest caz, pe consolă va fi afișat:

Hello

Sintaxa prescurtată a metodelor

Dacă metoda are în corpul său doar o singură instrucțiune, putem scurta definiția metodei. De exemplu, dacă avem metoda:

void SayHello()
{
   Console.WriteLine("Hello");
}

Putem să o scurtăm astfel:

void SayHello() => Console.WriteLine("Hello");

După lista de parametri se pune operatorul =>, urmat de instrucțiunea executată.

← Lecția anterioară Lecția următoare →