Apelarea constructorilor

Dacă constructorul nu este definit în clasa de utilizatori, constructorul moștenit de la clasa descendentă va fi utilizat în mod implicit. În ambele cazuri, toate obiectele au acces la constructorul Creare definit în clasa TObject.







Definiția clasei creează o structură activă care poate crea reprezentanți ai acestei clase. Obiectele care sunt create folosind o definiție de clasă sunt capabile să stocheze linkuri către obiectele nou create.

• Dacă apelați constructorul în numele obiectului, obiectul nou nu va fi creat (nu este alocată nicio memorie), dar vor fi executate instrucțiunile specificate în codul constructor. • Constructorul poate fi de asemenea invocat folosind o variabilă tip pointer la o clasă.

Chemând distrugătorii

Distructorii sunt chemați exact la fel ca majoritatea celorlalte metode ale clasei - prin intermediul exemplului său activ.

Sintaxa pentru a apela constructorul este:

<имя объекта>.<имя деструктора>[(<параметры>)];

Note: • După apelarea distrugătorului, obiectul devine indisponibil. Se recomandă atribuirea valorii Nilului obiectului imediat după distrugerea acestuia, astfel încât în ​​viitor să fie posibilă verificarea existenței acestuia. • Nu apelați distrugătorii direct. Apelarea metodei gratuite moștenite de la TObject.Free compară indicatorul instanței cu valoarea Nil înainte de a apela Distruge.

Provocările designerilor și distrugătorilor componentelor vizuale Delphi. Orice componentă care intră în aplicația dvs. în timpul designului vizual este inclusă într-o anumită ierarhie de obiecte, care se închide pe formular (clasa TFonn). Prin urmare, apelul către constructori și destructori ai tuturor componentelor de formă se efectuează automat atunci când formularul este inițializat și șters, invizibil pentru programator.

Formularele în sine sunt create și distruse de aplicație - un obiect global numit Aplicație. În fișierul proiectului cu extensia * .Dpr, puteți vedea apelul către constructorul de form ca șir:

Crearea dinamică a obiectelor. Utilizatorul poate crea un obiect și programabil prin:







Var mem: TMemo; Începeți Mem: = TMemo.Create (Self); // Creați o instanță a clasei TMemo Mem.Parent: = Self; // Form1 nu trebuie să fie specificat Mem.Name:='TmpMem '; // Atribuiți un nume componentei FindComponent ("TmpMem"). // Ștergeți componenta

De ce am nevoie de un distrugator virtual?

Pentru a evita posibilele scurgeri de resurse sau alte comportamente necontrolate ale obiectului, logica lucrării include apelul destructorului. Exemplu: clasa Base

Bază () " <>; clasă derivată: bază publică

Derivat ()

Derived () " <>; Baza * obj = noua derivată (); ștergeți obiectul; Ieșire: Buna ziua

Derived () Salut de la

Bază () Fără cuvântul cheie virtual pentru clasa de bază a părintelui, distrugătorul clasei copil nu va fi apelat. Ie ar fi numai

Bază (): Ieșire: Bună ziua

Constructe de programare distribuite și paralele

Metodele de programare paralelă vă permit să distribuiți lucrarea programului între două (sau mai multe) procesoare într-un singur computer fizic sau virtual.

Metodele de programare distribuite vă permit să distribuiți activitatea programului între două (sau mai multe) procesoare, iar procesele pot exista pe același computer sau pe diferite computere.

Apelarea constructorilor

Aplicația paralelă prezentată în figură constă într-un program împărțit în 4 sarcini. Fiecare activitate rulează pe un procesor separat, prin urmare, toate pot fi executate simultan. Aceste sarcini pot fi implementate în distribuție. aplicație, constă din 3 programe separate, fiecare dintre acestea funcționând pe un calculator separat. Programul 3 constă din două părți separate care rulează pe același computer. În ciuda acestui fapt, sarcinile A și D sunt distribuite deoarece sunt implementate ca două procese separate. Sarcinile programului paralel sunt mai strâns legate decât sarcinile aplicației distribuite. În general, procesoarele asociate cu programele distribuite se află pe computere diferite, în timp ce procesoarele asociate cu programele care implementează concurrency sunt pe același computer. Desigur, există aplicații hibride care sunt paralele și distribuite o singură dată. Aceste asociații hibride devin norma.

Programele a căror calitate adecvată a designului le permite să profite de concurrency pot fi efectuate mai repede decât echivalentele lor consecutive, ceea ce le crește valoarea de piață.

Metodele de programare distribuite vă permit să profitați de resursele plasate pe Internet în Intranetul corporativ și în rețelele locale.







Articole similare

Trimiteți-le prietenilor: