Saturday, May 21, 2022 19:48

Cuprins >> Funcții > Fluxul de executare

Fluxul de executare

Ori de câte ori executăm o metodă, acesta preia controlul asupra fluxului de execuție al programului. Cu toate acestea, în cazul în care metoda apelantă apelează o altă metodă, execuția este transferată la această nouă metodă până când codul său este executat, iar în momentul în care acesta se termină, controlul execuției este returnat la prima metodă apelată.

Probabil că nu întelegeți foarte bine acest concept, sau cel puțin, nu descris în această manieră. Deci, în principu, ori de câte ori vom apela o metodă sau o funcție în programul nostru, executarea este imediat transferată la acea bucată de cod care este mai apoi execută, apoi este întoarsă și se reia cu codul rămas după metoda apelată. Luați în considerare următoarea imagine:

fluxul de executare

Deci, avem metoda noastră obișnuită Main(), în care executăm un cod, care printre altele apelează o metodă care conține de asemenea un cod. Din imaginea de mai sus, putem vedea că execuția începe la partea de sus a metodei noastre Main(), și merge în jos. De îndată ce ajunge la partea în care apelăm metoda AfiseazaMesaj(), execuția este imediat transferată la partea de cod care conține această metodă, unde va rula tot codul din interiorul acesteia. Când este terminată executarea codului, execuția este apoi re-transferată metodei Main(), unde continuă cu codurile care urmează după apelul metodei. În cazul în care numita metodă ar fi conținut un alt apel de metodă în interiorul corpului său, executarea ar fi fost transferată la noua locație atunci când ar fi ajuns la apelul metodei, și ar fi fost returnată unde a fost, după ce codul noii metode ar fi fost executate în totalitate.

Tags: , , ,

Leave a Reply



Follow the white rabbit