Klasse gegen Objekt
In der objektorientierten Programmierung ist eine class
ein Konstrukt, das eine Sammlung von Eigenschaften und Methoden definiert. Sie können es sich als Vorlage vorstellen. Beispielsweise,
Klasse Item {public $ itemType; / * zB könnte dies "Buch" oder "CD" sein * / öffentlicher $ Preis; öffentliche Funktion printPrice () {echo "Der Preis für diesen {$ this-> itemType} beträgt {$ this-> price} Dollar."; }} $ catch22 = new Item (); $ catch22-> itemType = "Buch"; $ catch22-> price = 25; $ catch22-> printPrice (); / * Ausgaben Der Preis für dieses Buch beträgt 25 Dollar. * / $ americanPrayer = neuer Gegenstand (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> price = 22; $ americanPrayer-> printPrice (); / * Ausgänge Der Preis dieser CD beträgt 22 Dollar * /
Beachten Sie, dass in diesem Beispiel $ catch22 und $ americanPrayer zwei Objekte sind. Objekte sind Instanzen einer Klasse. Sie teilen die gemeinsame Struktur, die die Klasse definiert. Diese allgemeine Struktur besteht aus den Eigenschaften ($ itemType und $ price im obigen Beispiel) und Methoden (Funktionen; printPrice () im obigen Beispiel) der Klasse. Die Eigenschaften verschiedener Objekte können jedoch unterschiedlich sein.
Im obigen Beispiel unterscheiden sich Preis und Artikeltyp für 2 Objekte derselben Klasse. Beide Objekte verfügen jedoch über eine printPrice () -Methode, eine price- Eigenschaft und eine itemType- Eigenschaft, die verwendet werden können.
Vergleichstabelle
Klasse | Objekt | |
---|---|---|
Definition | Klasse ist ein Mechanismus zum Binden von Datenelementen und zugehörigen Methoden in einer einzigen Einheit. | Instanz der Klasse oder Variable der Klasse. |
Existenz | Es ist logische Existenz | Es ist physische Existenz |
Speicherzuweisung | Speicherplatz wird beim Erstellen nicht zugewiesen. | Speicherplatz wird beim Erstellen zugewiesen. |
Erklärung / Definition | Die Definition wird einmal erstellt. | Es wird viele Male nach Bedarf erstellt. |
Sonderfälle
In einigen Programmiersprachen, z. B. Python, ist alles ein Objekt. Dies bedeutet, dass Funktionen, Variablen, Instanzen einer Klasse und sogar tatsächliche Klassen von der Programmiersprache als Objekte behandelt werden.