Classe contro oggetto

Nella programmazione orientata agli oggetti, a classe è un costrutto che definisce una collezione di proprietà e metodi. Puoi pensarlo come un modello. Per esempio,

 classe Item public $ itemType; /* per esempio. questo potrebbe essere "Libro" o "CD" * / prezzo $ pubblico; public function printPrice () echo "Il prezzo di questo $ this-> itemType è $ this-> price dollars.";  $ catch22 = new Item (); $ catch22-> itemType = "Libro"; $ catch22-> price = 25; $ Catch22-> printPrice (); / * uscite Il prezzo di questo libro è di 25 dollari. * / $ americanPrayer = new Item (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> price = 22; $ AmericanPrayer-> printPrice (); / * uscite Il prezzo di questo CD è di 22 dollari * / 

Si noti che in questo esempio, $ catch22 e $ americanPrayer sono 2 oggetti. Gli oggetti sono istanze di una classe. Condividono la struttura comune definita dalla classe. Questa struttura comune è costituita dalle proprietà ($ itemType e $ price nell'esempio precedente) e dai metodi (funzioni; printPrice () nell'esempio precedente) della classe. Tuttavia, le proprietà di oggetti diversi potrebbero essere diverse.

Nell'esempio sopra, il prezzo e il tipo di articolo sono diversi per 2 oggetti della stessa classe. Ma entrambi gli oggetti hanno un metodo printPrice (), a prezzo proprietà e un tipo di elemento proprietà che può essere utilizzata.

Grafico comparativo

Tabella di confronto tra classi e oggetti
ClasseOggetto
Definizione La classe è il meccanismo di associazione dei membri dei dati e dei metodi associati in una singola unità. Istanza di classe o variabile di classe.
Esistenza È un'esistenza logica È un'esistenza fisica
Allocazione della memoria Lo spazio di memoria non è allocato, quando viene creato. Lo spazio di memoria è allocato, quando viene creato.
Dichiarazione / definizione La definizione viene creata una volta. è creato molte volte come richiesto.

Casi speciali

In alcuni linguaggi di programmazione, ad es. Python, tutto è un oggetto. Ciò significa che funzioni, variabili, istanze di una classe e anche le classi effettive vengono trattate come oggetti dal linguaggio di programmazione.