Quali sono le differenze di base tra un'Istanza e un Oggetto della classe? Ho sempre confuso su come esattamente sono diversi.Quali sono le differenze di base tra un'Istanza e un Oggetto della classe?
risposta
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
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.
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.
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.
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.
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
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 :)
- 1. Quali sono le differenze tra $ {} e # {}?
- 2. Quali sono le differenze tra le classi Helper e Utility?
- 3. Quali sono le differenze tra un UIView e un CALayer?
- 4. Quali sono le differenze tra un compilatore e un linker?
- 5. Quali sono le differenze tra un oggetto frame buffer e un oggetto buffer pixel in OpenGL?
- 6. Quali sono/sono le principali differenze tra Flink e Storm?
- 7. Quali sono le principali differenze tra "gc" e "gccgo"?
- 8. Quali sono/sono le differenze tra MSBuild e TFSBuild
- 9. Quali sono le differenze di utilizzo tra size_t e off_t?
- 10. Quali sono le differenze tra l'oggetto JSON e JavaScript?
- 11. Quali sono le differenze tra `String` e` str` di Rust?
- 12. Quali sono le differenze tra slice e partizioni di RDD?
- 13. Quali sono le differenze tra NSURLConnection e ASI-HTTP-Request?
- 14. Quali sono le differenze tra & e &&, | e || in R?
- 15. Quali sono le differenze tra funzioni e metodi in Swift?
- 16. Quali sono le differenze effettive tra child_process.fork e cluster.fork?
- 17. Quali sono le differenze tra mappatura, associazione e analisi?
- 18. Quali sono le differenze tra TFS, SVN e GIT?
- 19. Quali sono le differenze tra LinFu.DynamicProxy e Castle.DynamicProxy?
- 20. Quali sono le differenze tra flex-grow e width?
- 21. Quali sono le differenze tra JSP, PHP, HTML5 e javascript?
- 22. Quali sono le differenze tra la riproduzione inizia e inizia?
- 23. Quali sono le differenze tra XmlSerializer e BinaryFormatter
- 24. Quali sono le differenze tra Chrome, Canary e Chromium?
- 25. quali sono le differenze tra Haskell e PureScript?
- 26. Quali sono le differenze tra didFinishLaunchingWithOption e viewDidLoad
- 27. Quali sono le principali differenze tra AngularJS e ReactJS
- 28. Quali sono le differenze tra Int e Integer in Scala?
- 29. Quali sono le differenze tra cElementtree e ElementTree?
- 30. Quali sono le differenze tra OllyDbg e WinDbg?
Articolo utile. – user2749421