Hatókör

A Wikipédiából, a szabad enciklopédiából
Jump to navigation Jump to search

A számítógép-programozásban a hatókör (angolul scope) alatt azt a kontextust értjük, amelyekben a változókat és a kifejezéseket értelmezzük. Az egyes nyelvekben többféle hatókör típussal találkozunk. A hatókör típusa határozza meg, hogy a változó milyen egyedeket tartalmazhat és hogy hogyan hat rájuk vagy a szemantikára.

A hatókör

  • tartalmazhat deklarációkat vagy azonosítók definícióit.
  • tartalmazhat utasításokat és/vagy kifejezéseket amelyek végrehajtható algoritmust vagy annak részét definiálják.
  • lehet beágyazott, vagy tartalmazhat más elemeket.

A névtér olyan hatókör, amely a hatókör behatároló természetét kihasználva csoportosít logikailag rokon azonosítókat egyetlen azonosítóba. Ezáltal a hatókör befolyásolhatja a tartalmának névfeloldását.

Az egyes változóknak is megvan a maguk hatóköre. Az eltérő hatókörtípusoktól függ, hogy a helyi azaz lokális változók hogyan kötődnek. Ennek különböző hatásai lehetnek attól függően, hogy a nyelvben statikus vagy dinamikus a hatókörök kiosztása azaz statikus kötést ill. dinamikus kötést használ-e az adott nyelv.

A fejlesztők esetenként sorbehúzással adnak hangsúlyt a hatóköröknek a forráskódban a könnyebb olvashatóság érdekében, ill. egyes nyelvek esetén a behúzás nyelvi szinten is jelenti a hatókörök határát (pl. Python nyelv).