Variație și legare de procedură

Vizibilitatea numelor în interiorul și între module

Legarea determină vizibilitatea numelui unei variabile, a unui obiect sau a unei proceduri între unul sau mai multe module de program. Cu alte cuvinte, legătura definește modul în care numele este împărțit între module. Există două tipuri principale de legare, în urma cărora numele poate fi: intern și extern.







Declarație de domeniu modular

Numele variabilelor și obiectelor declarate în zona modulului au o obligație internă dacă nu sunt declarate utilizând Extern sau Common. De exemplu, numele de variabile declarate cu Dim sau Static au o relație internă și aceste variabile pot fi denumite numai în numele modulului în care sunt definite. Rețineți că utilizarea comună permite doar vizibilitatea numelor în cadrul procedurilor modulului și nu facilitează legarea numelor.

Numele procedurilor declarate cu ajutorul lui Private are o legătură internă.

Declarația cu privire la domeniul de aplicare local

Toate denumirile variabilelor și obiectelor declarate în zona locală (de exemplu, în ciclul Do sau în corpul de procedură) au o legătură internă.

Numele cu legături externe se pot referi la variabile, obiecte sau proceduri definite în modulul lor sau într-un alt modul. Legarea externă înseamnă că numele sunt vizibile pentru alte module, iar toate denumirile externe care utilizează module se referă la aceleași variabile, obiecte sau proceduri. Astfel, un singur modul poate defini un nume extern (compilatorul se va plânge de definiții duplicate dacă găsește o definiție suplimentară a numelui cu o legătură externă).







Declarație de domeniu modular

Numele variabilelor și obiectelor declarate în zona modulului au o legătură externă, dar sunt declarate fie externe, fie comune.

Comună declară o variabilă cu o legătură externă și o definește. Dar, spre deosebire de Extern. o definiție variabilă poate apărea în mai multe module. Când se utilizează cu matrice, pot fi declarate numai matrice cu lungime variabilă fără indici, iar dimensiunea matricei este specificată la timpul de execuție cu Dim sau ReDim. Înainte de utilizarea matricei. Numele variabilelor și obiectelor cu legături externe declarate utilizând Common se află în zona comună dacă este specificat specificatorul comun. Variabilele comune pot fi transmise în cadrul procedurii.

Atunci când Extern și Common sunt utilizate împreună în același modul pentru a declara și defini o variabilă, efectul va fi același ca în loc de Common, Dim va fi. De regulă, nu se recomandă să se amestecă Extern și Common cu aceeași variabilă într-un singur modul. Cu toate acestea, variabilele pot fi declarate și definite în același modul ca și Common. și apoi pot fi tratate cu Extern într-un alt modul fără nici o confuzie.

Declarația cu privire la domeniul de aplicare local

În prezent, numele declarate în zona locală nu pot avea o legătură externă.







Trimiteți-le prietenilor: