Ce este o funcție într-un limbaj de programare
Ce este o funcție într-un limbaj de programare

Știi cumva ce este o funcție într-un limbaj de programare? Apropo, în ce limbaj știi să programezi? Îți recomand să citești articolul „Cele mai bune limbaje de programare”.

Poate ai mai întâlnit termeni precum „metodă”, „subrutină”, „procedură”, „subprogram”. Toți reprezintă una și aceeași chestie? Nicidecum!

Funcția este un bloc de cod ce poate să includă unul sau mai mulți parametri la definire, iar la apelare un argument sau mai mulți. Merită specificat că unele funcții n-au niciun parametru, ceea ce rezultă  că și la apelare nu va avea niciun argument.

Scopul unei funcții este acela de a scrie cod o singură dată și de a putea fi apelată de mai multe ori. Practic, nu mai trebuie să scrii de N ori conținutul funcției, ci doar o singură dată, iar apoi o poți apela unde ai nevoie.

Structura unei funcții:

tip nume(parametru_1, parametru_2, ... , parametru_n) {
    // bloc de cod
}
nume(argument_1, argument_2, ... , argument_n); // apelarea funcției  

O funcție se definește mai întâi prin tipul ei, apoi i se atribuie un nume. Ulterior, are nevoie de parametri, dar există cazuri în care nu se pune niciun parametru.

După ce ai definit funcția, poți să scrii codul (blocul de cod) în interiorul acoladelor. În final, în funcție de ce ai nevoie și unde ai nevoie, poți apela funcția scriind numele ei, iar în paranteză să pui argumentele specifice tipului folosit la construirea funcției.

De exemplu, dacă ai definit funcția calcSuma() și este de tipul int, atunci fă bine și pune argumente de tipul int la apelare, nu de tipul float!

Evită neatenția! Oricum vei avea erori „cu carul” în viața de programator, așa că fii atent la ceea ce faci!

Încă ceva: dacă în definiția funcției ai 2 parametri, atunci tot 2 argumente trebuie să ai și la apelare. Hai să-ți dau un exemplu în Java:

1| public static int calcSuma(int a, int b) {
2|     return a+b;
3| }
4| 
5| public static void main(String[] args) { 
6|     System.out.println(calcSuma(1,4));
7| }  

Ce crezi că va afișa programul anterior? Suma va fi 5. Ce am făcut? Am scris o funcție oarecare, am definit-o cum se cuvine, i-am dat numele calcSuma și i-am pus 2 parametri. Ulterior am scris ce trebuie să returneze, iar în metoda main() afișez rezultatul pentru calculul sumei 1 + 4.

Un pic de atenție, te rog! În limbajul Java nu găsești funcții! Cum așa? Uite-așa.

Limbajul Java este unul care se bazează foarte mult pe OOP, iar tot ce se scrie în interiorul unui program este scris într-o clasă. Astfel, în Java avem metode, nu funcții. Chiar dacă metoda seamănă foarte bine cu o funcție, ele nu sunt una și aceeași chestie.

Limbaje precum Python, C++, JavaScript etc., au conceptul de funcție. De exemplu, în Python, funcțiile sunt structuri de cod (blocuri de cod) independente care pot fi apelate oriunde în interiorul programului. Nimic nou până aici, fiind o definiție generală a unei funcții. În schimb, metodele din Python sunt strict legate de obiecte (adică de clase). Așa se întâmplă și în Java.

Nu-i așa că e fain universul programatorilor? E bine să înveți chestii noi ca programator. E chiar indicat…

Deci, să revenim la întrebarea din titlu, ce este o funcție într-un limbaj de programare? O funcție este un bloc de instrucțiuni, care poate fi apelată oricând (și oriunde) în interiorul programului.

În aproape orice limbaj care se respectă (sau cu experiență, cum ar fi Java, C++, C#, C), vei întâlni o funcție de la care pornește „distracția”. Această funcție este main.

În Java avem metoda main(). Îți recomand articolul „Metoda main() în Java”.

O funcție nu rulează dacă nu este apelată! Funcția main() este apelată în mod implicit!

Și încă ceva ce merită precizat: o funcție trebuie să aibă un singur rol, nu mai multe. De exemplu, rolul funcției calcSum() este de a calcula suma a două numere. Atât. O funcție nu trebuie să aibă mai multe roluri. Creează o funcție separată pentru fiecare sarcină!

Învață să fii profesionist!

By projava

#JAVA

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Cele mai vechi
Cele mai noi Cele mai votate
Păreri...
Vezi toate comentariile