Class Vs Interface in C#

O clasă este o specificație a modului de construire a obiectelor din aceeași clasă. Este un tip de schiță sau prototip din care sunt create Obiecte individuale. Putem spune că o clasă este un șablon care descrie tipurile de stare și comportament pe care obiectele de tipul său le suportă.

În termeni de programare orientată pe obiecte (OOP), putem spune că o mașină Toyota este o instanță a clasei de obiecte cunoscută sub numele de Car. O clasă este ca și cum ar fi schița unei mașini. Folosind acest plan, puteți construi oricâte Mașini doriți. Fiecare mașină pe care o construiți este un obiect din clasa Car. Fiecare mașină are, desigur, și un număr. Dacă vrei să spui cuiva care este mașina ta, îi dai numărul pentru a o identifica. Acest număr se numește referința obiectului .

O interfață oferă un contract care specifică modul în care se creează un obiect, fără a se preocupa de detaliile specifice ale modului în care acestea fac lucrurile. O interfață este un tip de referință și a inclus numai membri abstracți, cum ar fi evenimente, metode, proprietăți etc. și nu are implementări pentru niciunul dintre membrii săi.

Când o clasă implementează o interfață sunt forțate de compilator să scrie metodele și proprietățile pe care interfața le-a definit. Adică, dacă implementați o interfață în clasa dvs. trebuie să declarați toate evenimentele, metodele și proprietățile interfeței în clasa dvs. O interfață poate avea numai metode și constante abstracte, care sunt întotdeauna implicit publice, statice și finale.

O clasă are atât o definiție, cât și o implementare, în timp ce o interfață are numai o definiție.

O clasă poate fi instanțiată, dar o interfață nu poate fi instanțiată Puteți crea o instanță a unui obiect care implementează interfața.

O clasă este o entitate cu corp complet, cu membri, metode, împreună cu definiția și implementarea acestora. O interfață este doar un set de definiții pe care trebuie să le implementați în clasa dumneavoastră care moștenește acea interfață.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.