2013-01-04 26 views
9

Vedo anche altri termini: Oggetto entità, Oggetto valore, ecc. Ci sono altri termini là fuori che dovrei sapere, e a cosa si riferiscono questi termini?Classe, oggetto, entità: qual è la differenza?

È possibile identificare le differenze tra di esse, se presenti, leggendo il codice?

+1

http://en.wikipedia.org/wiki/Object-oriented_programming – SLaks

+0

Deve dipendere dalla piattaforma/lingua che si utilizza. –

risposta

0

In generale una classe è un costrutto che definisce un insieme di proprietà e metodi/funzioni mentre un oggetto è l'istanza effettiva di una classe creata in fase di esecuzione.

Esempio di definizione della classe:

public class Example{ 

... 

} 

Il seguente crea un'istanza della classe dell'esempio come un oggetto in fase di esecuzione;

new Example(); 
13

Una classe è un modello per la creazione di oggetti. Non tutte le lingue OO usano le classi (vedi Self, Javascript). Tipicamente le classi sono implementate come oggetti.

Un oggetto è un insieme di dati che è impacchettato con funzioni che agiscono su tali dati (chiamati metodi). La chiamata al costruttore di una classe alloca la memoria per l'oggetto e inizializza le sue variabili membro.

Un'entità è un oggetto che rappresenta qualcosa che ha un'identità a cui il sistema è interessato nel tracciamento. Esempi tipici sono clienti e account.

Un oggetto valore è un valore, non ha un'identità e due istanze con lo stesso valore sono considerate identiche. Esempi tipici sono importi monetari, posizioni, tipi di pagamento.

Un oggetto di trasferimento dati viene utilizzato per il trasferimento di una serie di dati. In genere vengono utilizzati in sistemi distribuiti per inviare dati come un bundle al fine di evitare ripetute chiamate di rete. Gli oggetti di trasferimento dei dati non hanno identità (o non c'è alcuna aspettativa che dovrebbero avere), sono solo contenitori per i dati.

In genere è possibile distinguere tra entità e oggetti valore perché le entità hanno un'identità riconoscibile e il sistema è interessato a crearle, memorizzarle e modificarle. Nei casi in cui gli oggetti sono mappati su un database, le entità hanno chiavi primarie che sono o una specie di chiave naturale composita o una chiave artificiale, mentre gli oggetti valore sono confrontati per valore.

Problemi correlati