Differenza Tra Oggetto E Istanza

Differenza Tra Oggetto E Istanza
Differenza Tra Oggetto E Istanza

Video: Differenza Tra Oggetto E Istanza

Video: Differenza Tra Oggetto E Istanza
Video: OOP: classi, oggetti e istanze - Corso di coding lezione 36 2024, Dicembre
Anonim

Oggetto vs istanza

La programmazione orientata agli oggetti (OOP) è uno dei paradigmi di programmazione più popolari. In OOP, l'obiettivo è pensare al problema da risolvere in termini di elementi del mondo reale e rappresentare il problema in termini di oggetti e del loro comportamento. Molti linguaggi di programmazione che supportano aspetti chiave di OOP (chiamati linguaggi OOP) hanno la classe come strumento di programmazione principale. Sono chiamati basati sulla classe. Le classi sono una rappresentazione astratta di oggetti del mondo reale. Le classi hanno proprietà chiamate attributi. Gli attributi vengono implementati come variabili globali e di istanza. I metodi nelle classi rappresentano o definiscono il comportamento di queste classi. I metodi e gli attributi delle classi sono chiamati i membri della classe. In termini molto semplici, una classe è un progetto o un modello per uno specifico oggetto della vita reale. Così,un oggetto è il blocco di memoria utilizzato per memorizzare le informazioni necessarie in base a questo progetto. L'istanza è un blocco di memoria che fa riferimento a un oggetto.

Cos'è un oggetto?

Gli oggetti sono il risultato della creazione di un'istanza di una classe. L'istanziazione è il processo di prendere il progetto e definire ogni attributo e comportamento in modo che l'oggetto risultante rappresenti effettivamente un oggetto della vita reale. L'oggetto è un blocco di memoria dedicato e continuo allocato per memorizzare informazioni come variabili, metodi o funzioni, ecc. L'oggetto viene creato con l'uso di un nuovo operatore, nel linguaggio di programmazione Java. Ad esempio, se esiste una classe denominata Car, è possibile utilizzare quanto segue per creare un oggetto della classe Car.

nuova auto();

Qui, un oggetto Car viene creato dall'operatore new e viene restituito un riferimento all'oggetto. L'operatore new insieme al costruttore della classe Car viene utilizzato per creare il nuovo oggetto. La durata di vita dell'oggetto inizia dalla chiamata al suo costruttore fino al momento in cui viene distrutto. Una volta che un oggetto non viene referenziato, verrà rimosso / distrutto dal garbage collector.

Cos'è un'istanza?

L'istanza è un blocco di memoria, che contiene il riferimento a un oggetto. In altre parole, Instance manterrà l'indirizzo del blocco di memoria iniziale in cui è memorizzato l'oggetto. In realtà, il nome dell'istanza può essere utilizzato per accedere all'inizio dell'area di memoria dell'oggetto. Gli offset dalla memoria iniziale vengono calcolati dal motore di runtime in modo che possiamo andare dove sono memorizzati i singoli dati o riferimenti al metodo. Il seguente codice Java tagliato può essere utilizzato per creare un'istanza di un oggetto Car.

Car myCar = new Car ();

Come accennato in precedenza, il nuovo operatore crea l'oggetto Car e restituisce il riferimento ad esso. Questo riferimento è memorizzato nella variabile di tipo Car myCar. Quindi, myCar è l'istanza dell'oggetto Car creato.

Qual è la differenza tra un oggetto e un'istanza?

L'oggetto è un blocco di memoria contiguo che memorizza le informazioni effettive che distinguono questo oggetto da altri oggetti, mentre un'istanza è un riferimento a un oggetto. È un blocco di memoria, che punta all'indirizzo iniziale di dove è memorizzato l'oggetto. Due istanze possono fare riferimento allo stesso oggetto. La durata della vita di un oggetto e di un'istanza non sono correlate. Pertanto un'istanza potrebbe essere nulla. Una volta rimosse tutte le istanze che puntano a un oggetto, l'oggetto verrà distrutto.

Raccomandato: