Klasse versus object

In objectgeoriënteerd programmeren, a klasse is een constructie die een verzameling eigenschappen en methoden definieert. Je kunt het als een sjabloon zien. Bijvoorbeeld,

 class Item public $ itemType; / * b.v. dit kan de "Boek" of "CD" * / public $ prijs zijn; public function printPrice () echo "De prijs van dit $ this-> itemType is $ this-> price dollars.";  $ catch22 = nieuw item (); $ catch22-> itemType = "Boek"; $ catch22-> prijs = 25; $ Catch22-> printPrice (); / * uitgangen De prijs van dit boek is 25 dollar. * / $ americanPrayer = nieuw item (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> prijs = 22; $ AmericanPrayer-> printPrice (); / * outputs De prijs van deze CD is 22 dollar * / 

Merk op dat in dit voorbeeld $ catch22 en $ americanPrayer 2 objecten zijn. Objecten zijn instanties van een klasse. Ze delen de gemeenschappelijke structuur die de klasse definieert. Deze algemene structuur bestaat uit de eigenschappen ($ itemType en $ prijs in het bovenstaande voorbeeld) en methoden (functies; printPrice () in het bovenstaande voorbeeld) van de klasse. De eigenschappen van verschillende objecten kunnen echter verschillen.

In het bovenstaande voorbeeld zijn de prijs en het itemtype verschillend voor 2 objecten van dezelfde klasse. Beide objecten hebben echter een printPrice () -methode, een prijs eigendom en een type voorwerp eigenschap die kan worden gebruikt.

Vergelijkingstabel

Vergelijkingsgrafiek klasse versus object
KlasseVoorwerp
Definitie Klasse is een mechanisme voor het binden van gegevensleden en bijbehorende methoden in een enkele eenheid. Instantie van klasse of variabele van klasse.
Bestaan Het is een logisch bestaan Het is het fysieke bestaan
Geheugentoewijzing Geheugenruimte wordt niet toegewezen wanneer deze wordt gemaakt. Geheugenruimte wordt toegewezen, wanneer deze wordt gemaakt.
Aangifte / definitie Definitie wordt eenmaal gemaakt. het is gemaakt veel tijd als u nodig heeft.

Speciale gevallen

In sommige programmeertalen, b.v. Python, alles is een object. Dit betekent dat functies, variabelen, instanties van een klasse en zelfs feitelijke klassen door de programmeertaal als objecten worden behandeld.