Sunday, October 20, 2019 14:53

Archive for the ‘Obiecte’ Category

Namespace

miercuri, august 2nd, 2017

În OOP, namespace-urile sunt containere pentru un grup de clase care au un context comun sau sunt clasificate prin funcționalitate comună. Namespace-urile nu au niciun fel de funcționalitate și nu este obligatoriu să le folosiți. Cu toate acestea, ele oferă câteva avantaje, cel mai important fiind abilitatea de a sorta și grupa codul în unități logice.… Read more

Enumerări

duminică, iulie 16th, 2017

Enumerările sunt structuri care seamănă cu clasele, dar diferă de acestea prin faptul că în corpul enumerărilor putem declara doar constante. O varietate de constante conectate logic pot fi corelate la nivel sintactic. Aceste elemente de limbaj sunt așa-numitele tipuri enumerate.… Read more

Constante

sâmbătă, iulie 1st, 2017

La fel ca și constantele din matematică, C# definește câmpuri speciale de clase numite constante. Așa cum indică și denumirea lor, odată declarate și inițializate, constantele își mențin valorile, interzicând modificarea lor ulterioară.

Există două tipuri de constante:

  • Constantele pentru care valoarea este stabilită în timpul compilării (constante de timp de compilare)
  • Constantele care au valoarea lor setată în timpul execuției (constante de timp de execuție)

Constantele de timp de compilare sunt declarate folosind modificatorul C# const:

Un secret pe care nu mulți programatori C# îl știu este acela că de fapt constantele de timp de compilare sunt câmpuri statice, chiar dacă acestea nu conțin cuvântul cheie static, și compilatorul interzice utilizarea sa în declarație.… Read more

Structuri

sâmbătă, iunie 24th, 2017

În C# și framework-ul .NET există două implementări ale conceptului de „clasă”, din punct de vedere al OOP: clase și structuri.

Știm deja că clasele sunt definite utilizând cuvântul cheie class; structurile sunt definite utilizând cuvântul cheie struct.… Read more

Metode generice

vineri, iunie 23rd, 2017

Metodele generice, ca și clasele generice, sunt metode parametrizate (tipizate) pe care le folosim atunci când nu putem specifica tipul parametrilor metodei. De asemenea, la fel ca în cazul claselor generice, înlocuirea tipurilor necunoscute cu tipuri specifice se întâmplă la apelarea metodei.… Read more

Clase generice

duminică, iunie 18th, 2017

Clasele generice, cunoscute și sub numele de tipuri de date generice, sau pur și simplu generice, sunt clase de tip necunoscut, până în momentul în care sunt instanțiate intr-un tip specific.

Deoarece acest concept este un pic mai greu de explicat, voi exemplifica mai întâi un caz specific care vă va ajuta să îl înțelegeți mai bine.… Read more

Clase imbricate

vineri, iunie 9th, 2017

C# oferă clase imbricate care, la fel ca toate celelalte concepte de programare imbricate, implică un construct definit în interiorul corpului unui alt construct. Clasa definită în acest fel se numește „clasa interioară”, în timp ce clasa care o conține se numește „clasă exterioară”.… Read more

Membrii statici

joi, mai 18th, 2017

După cum am văzut în ultimele lecții anterioare, modul obișnuit de a comunica cu o clasă este de a crea instanțe (copii) ale acesteia și apoi de a folosi obiectele rezultate. De fapt, acesta este avantajul principal al claselor – capacitatea de a crea copii care pot fi folosite și pot fi modificate individual.… Read more

Modificatorii de acces

duminică, mai 14th, 2017

După cum sugerează și numele acestora, modificatorii de acces sunt niște concepte de programare care pot modifica nivelul de acces al unor elemente. În cuvinte mai complexe, modificatorii de acces sunt cuvinte cheie rezervate care adaugă informații pentru compilator și bucata de cod aferentă modificatorilor respectivi.… Read more

Instanțierea

miercuri, aprilie 26th, 2017

Am explicat deja de câteva ori că atunci când avem de-a face cu obiecte, de cele mai multe ori nu lucrăm cu clasa originală în sine – schița, ci de fapt creăm copii ale acesteia, numite instanțe. Instanțierea este procesul de creare a unei instanțe (copie) a unei clase (schița).… Read more