2013-09-25 7 views

risposta

5

Un'istanza è un oggetto in memoria. Fondamentalmente tu crei oggetti e li istanzia quando li stai usando.

Ecco un bell'articolo sulle classi Vs Oggetti Vs istanze, sta parlando di Java ma si applica a tutti programmazione orientata agli oggetti: Class vs Object vs Instance

+0

Articolo utile. – user2749421

3

Qual è la differenza tra 'umana' e 'tu'? "Gli umani" è una classe (ci sono molti umani), ma "tu" sei solo uno (sei un oggetto umano). Cos'è l'istanza? Ci sono alcune funzioni, che funzionano non solo per gli oggetti, ma anche per la classe. Esempi: human :: isMammal() == true, human :: isArachnid() == false. Non hai bisogno di un oggetto di classe human per chiamare tali funzioni (perché queste funzioni non usano alcuna proprietà speciale degli oggetti: tutti gli umani sono mammiferi e non aracnidi), quindi è sufficiente lavorare con l'istanza.

+0

La domanda è * non * "quali sono le differenze tra una classe e un'istanza" – Micha

+0

Micha, grazie mille, hai assolutamente ragione! Ero distratto. Ho esteso la mia risposta dopo il tuo commento. – Ilya

2

essere semplice,

oggetto è un'istanza della classe.

Quando le persone parlano di oggetto, è più specifico di un'istanza particolare (valori nelle variabili della classe). Spero, almeno non ti ho confuso.

2

Penso che la maggior parte dei programmatori utilizzi "oggetto" e "istanza" in modo intercambiabile. Alcuni pedanti possono provare a fare distinzioni, ma tali distinzioni sono prive di significato se non vengono riconosciute dalla maggior parte degli utenti dei termini.

"Classe", ovviamente, è una sorta di modello o disegno per un oggetto.

1

Un oggetto è la definizione di qualcosa mentre un'istanza è una manifestazione se quella cosa. Ad esempio, una sedia per definizione ha un sedile, 3 o più gambe e una schiena. Questo sarebbe l'oggetto. Nota, abbiamo solo una definizione e non un oggetto stesso. Ora se creiamo una sedia, abbiamo un'istanza.
Nella maggior parte delle lingue il nuovo operatore è il modo per creare l'istanza ...

Chair c = new Chair(); 

ci sono altri modi. In questo caso Chair è l'oggetto ec è l'istanza. Possiamo anche creare facilmente sedie aggiuntive che non hanno alcun effetto sulla definizione dell'oggetto.

1

un'istanza è una realizzazione specifica di un oggetto. quando un'applicazione viene eseguita, ad esempio, se si dispone di un oggetto per auto, un bmw può essere un'istanza di quello

-1

Il codice sorgente del file di classe definisce l'oggetto. Per utilizzare l'oggetto in altro codice si crea un'istanza di esso:

definizione Oggetto:

public class Person { 
    String mName; 
    public Person(){} 
    public Person(String name){ 
     mName=name; 
    } 
    public void setName(String name){ 
     mName=name; 
    } 
    public String getName(){ 
     return mName; 
    } 
} 

uso Object (istanze):

Person me=new Person("John Doe"); 
//me is an instance of the person object; 
Person you=new Person("John Smith"); 
Person spouse=new Person("Jane Doe"); 
//lots of instances but only one Person Object 
String myName=me.getName(); 

Avanti leggere su oggetti statici :)

Problemi correlati