Care este diferența dintre clasă și structură

principala diferență între clasă și structură este că Clasa este un tip de date tip referință în timp ce structura este un tip de date de tip valoare.

În programare, o variabilă este o zonă de stocare pentru stocarea datelor. Fiecare variabilă are un anumit tip de date pe care îl poate stoca. În principal, există două tipuri de date ca tip de valoare și tip de referință. În tipul de valoare, o valoare este atribuită direct. Mai mult decât atât, int, float și dublu sunt câteva exemple de tipuri de date tip de valoare. Pe de altă parte, tipurile de date de tip de referință nu stochează datele reale. În schimb, stochează o referință la variabila. Clasa și structura sunt două concepte de programare. După cum sa menționat mai sus, Clasa este un tip de tip de referință, în timp ce Structura este un tip de tip de valoare.

Domenii cheie acoperite

1. Ce este clasa
     - Definiție, funcționalitate
2. Ce este Structura
    - Definiție, funcționalitate
3. Care este diferența dintre clasă și structură
     - Compararea diferențelor cheie

Termeni cheie

Clasă, Structură

Ce este clasa

Totul este un obiect în programarea orientată pe obiecte (OOP). Obiectele sunt create folosind o clasă. O clasă este un model pentru a crea un obiect. În plus, o clasă constă din atribute și metode. Atributele sunt numite și proprietăți și definesc caracteristicile unui obiect. Metodele definesc comportamentul obiectului. Mai mult, crearea unui obiect utilizând o clasă se numește instanțiere.

Figura 1: Diagrama UML a unei clase

Membrii unei clase sunt atributele și metodele unei clase. În principal, ele sunt trei specifi de acces pentru a sprijini ascunderea datelor în OOP: public, privat și protejat. În primul rând, membrii publici sunt vizibili pentru toate clasele. În al doilea rând, membrii privați sunt vizibili numai în aceeași clasă. În al treilea rând, membrii protejați sunt vizibili în pachet și subclase.

Mai mult, o clasă conține, de asemenea, o funcție specială numită constructor. Ajută la crearea unui nou obiect. În plus, are același nume ca și clasa și nu are nici un tip de retur. Acesta poate fi un constructor implicit sau un constructor parametrizat.

O clasă de exemplu este după cum urmează.

Clasa Angajat

public int;

numele de șir public;

Programul principal este după cum urmează.

Angajatul e = nou angajat ();

e.id = 101;

e.name = "Ann";

Conform programului de mai sus, clasa are două proprietăți: id și nume. Acestea sunt publice și accesibile prin orice altă clasă. În programul principal, constructorul creează un obiect tip Employee. Apoi, valorile sunt date id-ului și numelui.

Ce este Structura

Structura este o singură variabilă care conține mai multe tipuri de date. Cu alte cuvinte, este o colecție de variabile de tipuri diferite de date, toate referindu-se printr-un singur nume. Declarația structurii formează un șablon care ajută la crearea unei instanțe a structurii. Un exemplu este după cum urmează.

struct Employee

public int;

numele de șir public;

;

Programul principal este după cum urmează.

Angajat e;

e.id = 101;

e.name = "Ann";

Conform programului de mai sus, structura conține două proprietăți: id și nume. În programul principal, declarația "Employee e" declară "e" ca angajat de tip struct. Apoi, valorile sunt date id-ului și numelui.

Diferența dintre clasă și structură

Definiție

O clasă este un plan care definește variabilele și metodele comune tuturor obiectelor de un anumit tip. Este un tip de date tip referință. În schimb, o structură este un tip de tip de valoare care poate conține date conexe ale diferitelor tipuri de date. Prin urmare, principala diferență între clasă și structură este în tipul de date.

Moştenire

O clasă poate moșteni din alte clase sau structuri, în timp ce o structură nu poate moșteni alte clase sau structuri.

distrugător

De asemenea, destructorul este o altă diferență între clasă și structură. Clasa poate avea un distrugător, dar structura nu are un distrugător.

instanţiere

În plus, o altă diferență între clasă și structură este aceea că o clasă instantează un obiect folosind un cuvânt cheie nou în timp ce o structură instantează un obiect fără a utiliza un nou cuvânt cheie.

Instanță

În plus, instanța unei clase este un obiect, în timp ce instanța unei structuri este o variabilă a structurii. Prin urmare, aceasta este o altă diferență între clasă și structură. 

cuvinte cheie

În plus, cuvântul cheie "clasă" definește o clasă. Cuvântul "struct" definește o structură.

Implicit specificator de acces

În plus, într-o clasă, dacă nu există declaratori de acces declarați, atunci membrii sunt privați. Într-o structură, în cazul în care nu au fost specificați parametrii de acces, atunci membrii sunt publici.

Concluzie

În programare, este necesar să stocați date. O variabilă este o locație care este utilizată pentru a stoca date. Există două tipuri de variabile ca tip de valoare și tip de referință. Diferența de bază între clasă și structură este aceea că o clasă este un tip de tip de referință, în timp ce o structură este un tip de tip de valoare.

Referinţă:

1. "Clasele C #". Www.tutorialspoint.com, disponibil aici.
2. "Structuri C #". Www.tutorialspoint.com, disponibil aici.

Datorită fotografiei:

1. "Oop-uml-class-example" de Încărcătorul original a fost Esap la Wikipedia engleză. - Transferat de la en.wikipedia la Commons (CC BY-SA 3.0) prin Wikimedia Commons