In c # 6

Sintactic, în descrierea metodei de a distinge două părți - titlul și descrierea descrierii metodei a corpului:

Luați în considerare sintaxa antet metodă: [atribute] [modificatori]







Numele metodei și o listă de argumente formale cuprind semnătura metodei. Rețineți că semnătura nu include numele de argumente formale - sunt importante tipuri de argumente. Semnătura nu este inclus și tipul de întoarcere.

Modificatorul de acces poate avea patru valori posibile, dintre care până acum ia în considerare doar două - publice și private. Modificatorul publică indică faptul că metoda este deschisă și disponibilă pentru a apela clienții și descendenții de clasă. modificator privat spune că metoda este destinată uzului intern în clasă și este disponibil numai pentru apel în corpul metodelor de clasă. Rețineți că, dacă modificatorul de acces este omis, implicit este că acesta are o valoare privată și metoda este închisă pentru clienții și descendenții clasei.

Obligatorie în descrierea titlului este o indicație a tipului de rezultat, numele metodei și paranteze, a căror prezență este necesară în cazul în care el nu este o listă de argumente formale. Metodele formale de tip rezultat este întotdeauna specificat, dar valoarea este nulă fără echivoc stabilește că metoda este pusă în aplicare prin procedura. Rezultatul de tip altele decât cele nule, indică funcția. Iată câteva metode simple pentru a descrie exemple:

Metodele A și B sunt închise, iar metoda C - deschis. Metodele A și C, procedurile sunt puse în aplicare, iar metoda B - o funcție care returnează o valoare întreagă.

Lista de argumente formale

După cum sa menționat deja, lista de argumente formale ale metodei poate fi gol, și este o situație destul de tipică pentru metodele de clasă. Lista poate conține un număr fix de argumente, separate prin punct și virgulă.

Este obligatoriu să se precizeze tipul și numele argumentului. Notă, nu există restricții cu privire la tipul de argument nu este impusă. Acesta poate fi orice tip scalar

În ciuda unui număr fix de argumente formale, este posibil într-un apel de metodă să-l treacă orice număr de argumente reale. Pentru a pune în aplicare această funcție în lista de argumente formale trebuie să specificați un cuvânt cheie params. Se administrează o dată și a indicat numai pentru ultimul argument al listei, fiind declarată ca o matrice de orice tip. În cazul în care metoda se numește acest argument formală corespunde unui număr arbitrar de argumente reale.







Substanțial, toate argumentele metodei sunt împărțite în trei grupe: de intrare, ieșire și actualizate. Argumentele primului grup transmite informații la metoda valorii lor în corpul metodei este doar pentru citire. Argumentele al doilea grup reprezintă rezultatele metodei, ele vor lua valoarea în cursul metodei. Argumentele de-al treilea grup îndeplini ambele funcții. Valorile lor sunt folosite în calcule și actualizate, ca urmare a metodei. Argumentele de ieșire ar trebui să fie întotdeauna însoțite de cuvântul cheie afară, actualizat - ref. În ceea ce privește argumentele de intrare, apoi, de regulă, acestea sunt date fără un cuvânt cheie, cu toate că, uneori, ele sunt utile pentru a declara un parametru ref. Notă, în cazul în care argumentul este declarat ca o ieșire cu un cuvânt cheie afară, corpul metodei trebuie să fie prezentă declarație de atribuire care stabilește valoarea acestui argument. În caz contrar, apare o eroare în timpul compilării.

Pentru a ilustra, să ne uităm la un grup de metode de testare a clasei din ProcAndFun proiectului:

Patru metoda supraîncărcat numită O metodă și f va fi utilizată în explicarea efectului de suprasarcină și lateral. Acum analizăm doar titlurile lor. Toate metodele sunt închise, așa cum sunt declarate fără un modificator de acces. Metode supraîncărcate cu numele A sunt procedurile, metoda f - funcția. Toate cele patru metode supraîncărcate au semnături diferite. În timp ce numele și numărul de argumente de toate metodele sunt la fel, dar tipurile și cuvintele cheie, argumentele anterioare sunt diferite. Primul argument pentru toate cele patru metode supraîncărcate - ieșire și însoțite afară cuvântul cheie în corpul metodei de acest argument este setat. Argumentul f - actualizat, acesta este prevăzut cu un ref de cuvinte cheie, în corpul valoarea utilizată pentru obținerea rezultatului funcției, dar, de asemenea, valoarea modificărilor argument în funcțiile corpului. Două metode ale grupului de metode supraîncărcate folosind cuvântul cheie params pentru argumentul final. Mai târziu vom vedea că, atunci când aceste metode pentru a specifica argumente se vor întâlni unele argumente reale, numărul care poate fi arbitrară.

corp metoda sintactic este o unitate care este o secvență de instrucțiuni și descrieri ale variabilelor incluse în paranteze. Când este vorba de funcția corpului, unitatea trebuie să fie de cel puțin un operator de tranziție, care returnează valoarea funcției în formă de întoarcere (expresie).

Variabilele descrise în blocul considerat localizat în acest bloc. În înregistrarea numelor variabilelor locale blochează operatorii de unități implicate, numele câmpurilor de clasă și numele argumentelor metodei.

Cunoașterea descrieri semantica și operatori suficient pentru a înțelege semantica blocului.