Care este circuitul

Sen Selesss. definiție Wikipedia destul de util:
Încapsularea - ambalaje de date și funcții într-o singură componentă.

Încapsularea este folosit pentru a, în primul rând, extern (relativ la un obiect), lumea nu deranjează cu privire la structura sa internă, și, pe de altă parte, lumea exterioară nu poate afecta structura internă a unui obiect, alta decât prin interfața sa. Interfața în acest context - este toate metodele disponibile (publice) ale unui obiect.

Un exemplu de manual - de ce ar trebui să, ca șofer, pentru a ști exact cum automată unelte schimburi? Am o interfață - volan, schimbator de viteze - folosindu-l interactionez cu obiectul (auto). Detalii de implementare - masina încărcător - l inkapuslirovany.

sau doar ceva

îndeplinește funcția - acest obiect în memorie
proprietățile obiectului - o funcție variabilă

obiect în interiorul unei funcții, puteți rula o funcție diferită care poate folosi proprietățile obiectului funcției exterioare
de obicei, după efectuarea obiectului său este eliminat din memorie de colectare automată a gunoiului
dar, în cazul în care proprietățile acestui retreiving folosit un astfel de obiect funcția internă care nu merge mai departe

În general, ați înțeles totul corect. Sunt onorat aici răspunsuri, termeni, termeni, terminologie.

Îmi place explicații simple, literalmente pe degete.

Când funcția normală finalizează executarea sa, acesta eliberează memoria care iese în evidență înainte, în cazul în care variabilele nu rămân referințe.

În cazul închiderii, vă întoarceți înapoi funcție, adică, link-uri rămân, astfel încât motorul nu poate elibera variabile de memorie și funcțiile sunt încă disponibile, și mai mult decât oricine. Prin urmare, acest lucru numit circuit, deoarece Variabilele sunt închise pentru funcția în sine.

Cu alte cuvinte, pentru a crea un circuit, trebuie să pună funcția în funcție, accesată din funcția arborescentă pentru un viraj variabilă în jurul și funcția arborescentă pentru a reveni la exterior. Atâta timp cât funcția de întoarcere rămâne de acces, există de circuit.

Una dintre principalele modele, care sunt utilizate de circuit - limitarea accesului la date, izolarea acestora (limita domeniul de aplicare a acestora).

În același timp, circuitul acționează ca un depozit independent de date atomice, și, în teorie, ar trebui să ofere acces la aceste date, într-un fel sau altul.

Răspunsurile au un exemplu de contra, ceea ce demonstrează acest principiu.

Prima mea încercare de explicație:
„O închidere este ca o fosilă de dinozaur - un instantaneu dintr-un moment în timp păstrat timp de milioane de ani. Puteți obține în continuare obține informații despre dinozaur din fosilă, chiar dacă dinozaur în sine a fost plecat timp de milioane de ani. "

Închiderile au fost început să aibă sens, așa că am încercat din nou folosind cookie-uri.
„Să spunem că merg la aceeași brutărie în fiecare zi și să ceară brutar pentru un cookie. Primul lucru pe care el / ea întreabă este, „Ce fel de cookie vrei?“ După câteva zile, brutarul ar putea ști deja ce cookie-mi place și pur și simplu întreb, „Ca de obicei?“. Prin salvarea cookie alegerea mea în memorie, el / ea este în măsură să reutilizeze aceeași funcție din ziua precedentă pentru a-mi obține cookie-ul propriu-zis, fără a fi nevoie să întreb din nou. "

Eh ... Era încă un pic neclare, până când fiul meu mi-a cerut ...
„Deci, e ca atunci când vom merge la frizer și el doar taie parul nostru, fără a cere ceea ce ne dorim? El întreabă mereu noi clienți modul în care doresc să-l să taie, dar nu ne mai cere. "

Ding, Ding, ding! El a luat-o.

„Închiderea acestei fosilizeaza dinozaur -. Punctele de imagine în timp, păstrate timp de milioane de ani, puteți obține în continuare informații despre dinozaur de fosile sale, deși nu dinozaur a fost în jur de milioane de ani.“

„Imaginați-vă că mă duc la aceeași brutărie în fiecare zi și să cumpere de la cookie-uri de brutărie primul lucru pe care mă întreabă este -.“ Ce fel de cookie-uri vrei „Câteva zile mai târziu, brutarul poate ști deja în avans cu privire la preferințele mele?. și întreabă -. „faci ca de obicei“ Remember my choice (stocat în memorie), se poate reutiliza aceeași funcție ca și cea a ieri, să-mi dea datele cookie-uri, nu pentru a repeta întrebarea ".

itsjustmypage. acest lucru nu este vorba de cookie-uri și despre circuit, doar într-un alt exemplu)


Aici este circuitul în forma sa cea mai simplă. Caracteristică fixează la o variabilă, și se va întoarce de fiecare dată.

Există în continuare cel mai important lucru este faptul că această funcție poate fi trimisă oriunde, și poate fi numit oriunde, dar se va referi în continuare la el pe această variabilă. Această relație este tocmai circuit.

Circuitul este un lucru foarte simplu, în cazul în care se consideră domeniul de aplicare lexical ca obiecte.
De exemplu:

Sen Selesss. Ei bine, bine și rău


Pentru cele mai multe sarcini de zi cu zi, cum ar fi o explicație suficientă.

Cu alte cuvinte, este un mecanism de obiecte „îngheța“ într-un mediu de închidere lexicală. Gunoier nu îndepărtează mediul lexical înghețat atât timp cât există obiect / circuit utilizat cu referire la mediul lexical.