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: Exact Differentials 2024, Noiembrie
Anonim

Clase vs Structuri

Unele dintre conceptele principale ale limbajelor de programare orientate pe obiecte (OO) sunt încapsularea, moștenirea și polimorfismul. Clasa și Structura sunt două dintre constructele/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 cu clasele cu o utilizare similară, dar au puține limitări în comparație cu clasele. Atât clasele, cât și structura sunt utilizate pentru a grupa tipuri similare de date, împreună.

Ce sunt cursurile?

Classurile descriu reprezentarea abstractă a obiectelor din lumea reală, în timp ce relațiile descriu modul în care fiecare clasă este conectată la ceilalți. Atât clasele, cât și relațiile au proprietăți numite atribute. Metodele din clase reprezintă sau definesc comportamentul acestor clase. Metodele și atributele claselor sunt numite membri ai clasei. În mod obișnuit, încapsularea se realizează prin privatizarea atributelor, creând în același timp metode publice care pot fi folosite pentru a accesa aceste atribute. Un obiect este instanța unei clase. Moștenirea permite utilizatorului să extindă clase (numite subclase) de la alte clase (numite super clase). Polimorfismul permite programatorului să înlocuiască un obiect dintr-o clasă în locul unui obiect din superclasa. 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 de acces tipici utilizați pentru clase. O diagramă de clasă arată clasele sistemelor, relațiile dintre clase și atributele acestora.

Ce sunt structurile?

După cum am menționat mai sus, structurile sunt foarte asemănătoare cu clasele 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 ca și clasele din C++, dar au membri publici în mod implicit. O structură poate fi definită de utilizator pentru a reprezenta un tip care este compus. Similar claselor, structurile conțin membri care pot aparține mai multor tipuri. Cuvântul cheie struct este folosit pentru a defini o structură în C și C++, în timp ce cuvântul cheie Structură este folosit pentru același lucru în limbajele de programare. NET.

Care este diferența dintre clase și structuri?

Deși atât clasele, cât și structurile sunt constructe similare găsite în limbajele 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 și clasele în C++, dar membrii nu sunt publici 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 folosind modificatorii de acces corespunzători în C++. Cu toate acestea, în C, structurile nu pot conține nicio funcție sau operațiuni supraîncărcate. Cuvintele cheie class și struct sunt folosite 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 folosite pentru obiecte mai mici, dar clasele sunt folosite pentru obiecte mai mari care sunt păstrate în memorie pentru perioade mai lungi.

Recomandat: