Clasă vs. Obiect

În programarea orientată obiect, a clasă este o construcție care definește o colecție de proprietăți și metode. Vă puteți gândi la acesta ca la un șablon. De exemplu,

 element de clasă public $ itemType; /* de exemplu. aceasta ar putea fi "Rezervați" sau "CD" * / preț public $; funcția publică printPrice () echo "Prețul acestui $ this-> itemType este $ $ this-> price dollars.";  $ catch22 = element nou (); $ catch22-> itemType = "Rezervați"; $ catch22-> preț = 25; $ Catch22-> printPrice (); / * ieșiri Prețul acestei cărți este de 25 de dolari. * / $ americanPrayer = element nou (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> preț = 22; $ AmericanPrayer-> printPrice (); / * ieșiri Prețul acestui CD este de 22 de dolari * / 

Rețineți că în acest exemplu, $ catch22 și $ americanPrayer sunt 2 obiecte. Obiectele sunt exemple de clasă. Ele împărtășesc structura comună pe care o definește clasa. Această structură comună constă din proprietățile ($ itemType și $ price în exemplul de mai sus) și metodele (funcții; printPrice () din exemplul de mai sus) din clasă. Cu toate acestea, proprietățile diferitelor obiecte pot fi diferite.

În exemplul de mai sus, prețul și tipul de element sunt diferite pentru 2 obiecte din aceeași clasă. Dar ambele obiecte au o metodă printPrice (), a Preț proprietate și un categorie de obiect proprietate care poate fi utilizată.

Diagramă de comparație

Clasă comparativ cu tabelul de comparare a obiectelor
ClasăObiect
Definiție Clasa este mecanismul de legare a membrilor de date și a metodelor asociate într-o singură unitate. Instanța clasei sau variabilei clasei.
Existenţă Este o existență logică Este o existență fizică
Alocare de memorie Spațiul de memorie nu este alocat atunci când este creat. Spațiul de memorie este alocat atunci când este creat.
Declarație / definiție Definiția este creată o singură dată. este creat mai mult timp după cum doriți.

Cazuri speciale

În unele limbi de programare, de ex. Python, totul este un obiect. Aceasta înseamnă că funcțiile, variabilele, instanțele unei clase și chiar clasele reale sunt tratate ca obiecte de limbajul de programare.