Diferența Dintre Clase și Structuri

Diferența Dintre Clase și Structuri
Diferența Dintre Clase și Structuri

Video: Diferența Dintre Clase și Structuri

Video: Diferența Dintre Clase și Structuri
Video: Caracterul major și minor al gamelor 2024, Decembrie
Anonim

Clase vs Structuri

Unele dintre principalele concepte ale limbajelor de programare orientate pe obiecte (OO) sunt încapsularea, moștenirea și polimorfismul. Clasa și structura sunt două dintre structurile / instrumentele OO, care ajută programatorii să realizeze aceste concepte în majoritatea limbajelor de programare OO (Java nu oferă structuri). Clasele sunt o reprezentare abstractă a obiectelor din lumea reală. Structurile sunt foarte asemănătoare claselor cu o utilizare similară, dar au puține limitări în comparație cu clasele. Ambele clase și structura sunt utilizate pentru a grupa tipuri similare de date, împreună.

Ce sunt cursurile?

Clasele descriu reprezentarea abstractă a obiectelor din lumea reală, în timp ce relațiile descriu modul în care fiecare clasă este conectată la altele. Ambele clase și relații au proprietăți numite atribute. Metodele din clase reprezintă sau definesc comportamentul acestor clase. Metodele și atributele claselor sunt numite membri ai clasei. De obicei, încapsularea se realizează făcând atributele private, în timp ce se creează metode publice care pot fi utilizate pentru a accesa aceste atribute. Un obiect este instanța unei clase. Moștenirea permite utilizatorului să extindă clasele (numite subclasele) din alte clase (numite superclasele). Polimorfismul permite programatorului să înlocuiască un obiect al unei clase în locul unui obiect din superclasa sa. De obicei, substantivele găsite în definiția problemei devin direct clase în program. Și în mod similar,verbele devin metode. Public, privat și protejat sunt modificatorii tipici de acces utilizați pentru clase. O diagramă de clasă arată clasele sistemelor, relațiile dintre clase și atributele acestora.

Ce sunt structurile?

După cum sa menționat mai sus, structurile sunt foarte asemănătoare claselor cu o utilizare similară, dar sunt capabilități ușor limitate decât clasele. De fapt, clasele pot fi considerate ca o extensie a structurilor. De exemplu, structurile sunt aceleași cu clasele din C ++, dar au membri publici în mod implicit. O structură poate fi definită de utilizator pentru a reprezenta un tip compozit. Similar claselor, structurile conțin membri care pot aparține multor tipuri. Cuvântul cheie struct este utilizat pentru a defini o structură în C și C ++, în timp ce cuvântul cheie Structură este utilizat pentru același lucru în limbaje de programare. NET.

Care este diferența dintre clase și structuri?

Chiar dacă ambele clase și structuri sunt constructe similare găsite în limbaje de programare, ele au diferențe subtile. De obicei, clasa este o extensie a structurii și, prin urmare, structurile au unele limitări relative. De exemplu, structurile pot fi considerate la fel ca clasele din C ++, dar membrii nu sunt publici în mod implicit în clase (spre deosebire de structuri). Acest lucru înseamnă de fapt că puteți defini o clasă și o structură cu exact aceleași caracteristici utilizând modificatorii de acces corespunzători în C ++. Cu toate acestea, în C, structurile nu pot conține funcții sau operații supraîncărcate. Cuvintele cheie class și struct sunt utilizate pentru a defini o clasă și, respectiv, o structură în C ++. Când vine vorba de limbaje. NET (C #, VB. NET etc.), clasa este un tip de referință, în timp ce structura este un tip de valoare. Și de obicei,structurile sunt utilizate pentru obiecte mai mici, dar clasele sunt utilizate pentru obiecte mai mari care sunt păstrate în memorie pentru perioade mai lungi.

Recomandat: