Classe vs. oggetto

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

 class Item {public $ itemType; / * ad es. questo potrebbe essere "Libro" o "CD" * / prezzo pubblico $; funzione pubblica printPrice () {echo "Il prezzo di questo {$ this-> itemType} è {$ this-> price} dollari."; }} $ catch22 = new Item (); $ catch22-> itemType = "Libro"; $ catch22-> prezzo = 25; $ Catch22-> printPrice (); / * output 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 metodi (funzioni; printPrice () nell'esempio precedente) della classe. Tuttavia, le proprietà di oggetti diversi possono 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 (), una proprietà price e una proprietà itemType che possono essere utilizzati.

Tabella di confronto

Grafico di confronto tra classe e oggetto
Classe Oggetto
DefinizioneLa classe è un meccanismo di associazione di membri di dati e metodi associati in una singola unità.Istanza di classe o variabile di classe.
EsistenzaÈ esistenza logicaÈ esistenza fisica
Allocazione della memoriaLo spazio di memoria non è allocato, quando viene creato.Lo spazio di memoria viene allocato, quando viene creato.
Dichiarazione / definizioneLa definizione viene creata una volta.viene creato molte volte come richiesto.

Casi speciali

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

Articoli Correlati