Klass vs Objekt

I objektorienterad programmering, a klass är en konstruktion som definierar en samling av egenskaper och metoder. Du kan tänka på det som en mall. Till exempel,

 klasspost public $ itemType; /* t.ex. detta kan vara "bok" eller "cd" * / offentlig $ pris; offentlig funktion printPrice () echo "Priset för denna $ this-> itemType är $ this-> price dollars.";  $ catch22 = nytt objekt (); $ catch22-> itemType = "Book"; $ catch22-> price = 25; $ Catch22-> printPrice (); / * utgångar Priset på denna bok är 25 dollar. * / $ americanPrayer = nytt objekt (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> price = 22; $ AmericanPrayer-> printPrice (); / * utgångar Priset på denna CD är 22 dollar * / 

Observera att i detta exempel är $ catch22 och $ americanPrayer 2 objekt. Objekt är instanser av en klass. De delar den gemensamma strukturen som klassen definierar. Denna gemensamma struktur består av egenskaperna ($ itemType och $ pris i ovanstående exempel) och metoder (funktioner; printPrice () i ovanstående exempel) i klassen. Egenskaperna hos olika objekt kan dock vara olika.

I det ovanstående exemplet skiljer sig pris och objekttyp för 2 objekt av samma klass. Men båda objekten har en printPrice () metod, a pris egendom och en Objekttyp egendom som kan användas.

Jämförelsediagram

Klass jämfört med Objekt jämförelse diagram
KlassObjekt
Definition Klassen är en mekanism för bindande datamedlemmar och tillhörande metoder i en enda enhet. Instans av klass eller variabel i klassen.
Existens Det är en logisk existens Det är fysisk existens
Minnesallokering Minneutrymmet är inte tilldelat när det skapas. Minnesutrymme är allokerat när det skapas.
Deklaration / definition Definition skapas en gång. det skapas mycket tid som du behöver.

Speciella fall

På vissa programmeringsspråk, t.ex. Python, allt är ett föremål. Det betyder att funktioner, variabler, instanser av en klass och till och med verkliga klasser behandlas som objekt av programmeringsspråket.