Declararea metodelor și a funcțiilor este de fapt un proces format din trei etape: declararea, implementarea și apelarea metodei sau funcției noastre.
- Declararea este procesul de scriere a tipului metodei, numele ei și a eventualilor parametri, astfel încât programul să o poată identifica cu succes.
- Implementarea a unei metode înseamnă scrierea codului în sine, care va fi executat atunci când metoda este executată.
- Apelarea este procesul de invocare a metodei deja declarate și implementate de către o anumită parte a programului, unde trebuie rezolvată o problemă pe care metoda o poate rezolva.
Declararea unei metode nu se poate face oriunde vrem. Cu toate că încă nu au învățat despre clase, le vom menționa aici pentru că metodele pot fi declarate doar în interiorul blocului unei clase. După cum ați văzut deja în unele dintre exemplele noastre anterioare, metoda noastră Main a fost declarată în interiorul acoladelor unei clase (corpul acelei clase). Deci, pentru moment, imaginați-vă o clasă ca fiind o structură definită de un nume, având un corp delimitat prin deschiderea și închiderea de acolade. În acest context, o declarație de metoda ar arăta astfel:
1 2 3 4 5 6 7 8 9 |
public class BunaLume { //acolada de deschidere a clasei //declarare a metodei noastre in interiorul corpului clasei void SalutaLumea() { //acolada de deschidere a metodei } //acolada de inchidere a metodei } //acolada de inchidere a clasei |
În exemplul de mai sus, am declarat o clasă numită BunaLume, în interiorul blocului căreia am declarat o metoda numită SalutaLumea(). Această metodă este numai declarată, dar încă nu face nimic, deoarece corpul său nu conține niciun cod. Acest lucru se face prin implementarea metodei:
1 2 3 4 5 6 7 8 9 10 |
public class BunaLume { //acolada de deschidere a clasei //declarare a metodei noastre in interiorul corpului clasei void SalutaLumea() { //acolada de deschidere a metodei Console.WriteLine("Buna lume!"); //implementare a unui cod de executat Console.Read(); } //acolada de inchidere a metodei } //acolada de inchidere a clasei |
Prin plasarea celor două instrucțiuni în interiorul corpului metodei noastre, am „implementat“ metoda noastră, adica am adăugat metodei noastre ceva de executat atunci când este apelată. Totuși, chiar dacă declarăm și implementăm metoda noastră, ea încă nu face nimic cu de la sine putere. Aici intervine „apelarea” metodei noastre. Pentru ca metoda noastră să ruleze codul din interiorul blocului său, trebuie apelăm (chemăm) mai întâi metoda noastră:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class BunaLume { //acolada de deschidere a clasei static void Main(string[] args) { SalutaLumea(); //apelare a metodei Console.Read(); } //declarare a metodei noastre in interiorul corpului clasei void SalutaLumea() { //acolada de deschidere a metodei Console.WriteLine("Buna lume!"); //implementare a unui cod de executat Console.Read(); } //acolada de inchidere a metodei } //acolada de inchidere a clasei |
In exemplul de mai sus, am declarat și implementat metoda noastră. Exceptând acest lucru, puteți observa o a doua metodă pe care am folosit-o într-o mulțime din lecții noastre anterioare, numită Main() (aceasta este prima metodă care se execută atunci când se pornește un program de consolă). In interiorul blocului metodei noastre Main(), am apelat a doua metodă, SalutaLumea().
Vom descrie aceste aspecte separat în lecții viitoare, pentru moment trebuie doar să știți că o metodă poate fi declarată, implemetată și apelată.
Declarațiile de funcții sunt oarecum identice cu declarațiile de metode, cu singura diferență că acestea trebuie să returneze o valoare, așa cum am explicat în lecția precedentă. Considerați următorul exemplu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class BunaLume { //acolada de deschidere a clasei static void Main(string[] args) { string salut = SalutaLumea(); //apelare a functiei si preluare a valorii sale returnate Console.WriteLine(salut); //afisare a salutului la consola } //declarare a functiei noastre in interiorul corpului clasei string SalutaLumea() { //acolada de deschidere a functiei string salutare = "Hello world!"; //implementare a functiei return salutare; //returneaza obligatoriu o valoare (de tip string) } //acolada de inchidere a functiei } //acolada de inchidere a clasei |
Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:
Tags: chemare metodă, declarare metode, implementare metode, metode