Jakie są podstawowe różnice między instancją a obiektem klasy? Zawsze mam zamieszanie związane z tym, jak dokładnie są różne.Jakie są podstawowe różnice między instancją a obiektem klasy?
Odpowiedz
Instancja jest obiektem w pamięci. Zasadniczo tworzysz obiekt i tworzysz instancje, gdy ich używasz.
Tu jest ładny artykuł o zajęciach Vs Przedmioty Vs przypadkach on mówi Java ale to dotyczy wszystkich Object Oriented Programming: Class vs Object vs Instance
Jaka jest różnica między „ludzki” i „ty”? "Ludzie" to klasa (jest wielu ludzi), ale "ty" jesteś tylko jednym (jesteś obiektem człowieka). Co to jest instancja? Istnieje kilka funkcji, które działają nie tylko dla obiektów, ale także dla klasy. Przykłady: human :: isMammal() == true, human :: isArachnid() == false. Nie potrzebujesz obiektu klasy ludzkiej, aby wywoływać takie funkcje (ponieważ te funkcje nie używają żadnych specjalnych właściwości obiektów: wszyscy ludzie są ssakami, a nie pajęczakami), więc wystarczy pracować z instancją.
Aby być prostym,
Obiekt jest instancją klasy.
Kiedy ludzie mówią o obiekcie, jest on bardziej konkretny dla konkretnej instancji (wartości zmiennych w klasie). Mam nadzieję, że przynajmniej nie pomyliłem cię.
Myślę, że większość programistów używałaby zamiennie "obiektu" i "instancji". Niektórzy pedanci mogą próbować rozróżnić, ale takie rozróżnienia nie mają znaczenia, jeśli nie są uznawane przez większość użytkowników terminów.
"Klasa", oczywiście, jest rodzajem szablonu lub projektu obiektu.
Obiekt jest definicją czegoś, podczas gdy instancja jest manifestacją, jeśli to coś. Na przykład krzesło z definicji ma siedzenie, 3 lub więcej nóg i tył. To byłby przedmiot. Uwaga, mamy tylko definicję, a nie sam obiekt. Teraz, jeśli stworzymy krzesło, mamy instancję.
W większości języków nowy operator jest sposób, aby utworzyć wystąpienie ...
Chair c = new Chair();
Są inne sposoby. W tym przypadku Krzesło jest obiektem, a c jest instancją. Możemy łatwo stworzyć dodatkowe krzesła, które nie mają wpływu na definicję obiektu.
instancja jest specyficzną realizacją obiektu. , gdy aplikacja jest uruchomiona, na przykład instancja tego programu działa na przykład, jeśli mamy obiekt do samochodu, bmw może być instancją tego
Kod źródłowy pliku klasy definiuje obiekt. Aby korzystać z obiektu w innym kodem utworzyć instancję nim:
definicja obiektu:
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;
}
}
wykorzystanie obiektu (wystąpienia):
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();
Następny przeczytać na obiektach statycznych :)
- 1. Jakie są różnice między postem a stroną
- 2. Jakie są różnice między przerwą a wyjściem?
- 3. Jakie są różnice między MPI a OpenMP?
- 4. Jakie są różnice między typedef a używaniem?
- 5. Jakie są różnice między programem a aplikacją?
- 6. Jakie są różnice między obiektem JSON i JavaScript?
- 7. Jakie są podstawowe różnice funkcji/architektury między BEAM i JVM?
- 8. Jakie są podstawowe różnice między zestawem i didSet?
- 9. Różnica między ładowaniem klasy a jej instancją
- 10. Różnica między inicjowaniem klasy a instancją obiektu?
- 11. Jakie są różnice między java 1.5 a java 1.6
- 12. Jakie są różnice między widokiem snapshot a widokiem dynamicznym?
- 13. Jakie są różnice między & a &&, | i || w R?
- 14. Jakie są różnice między Visual Studio Code a Visual Studio?
- 15. Jakie są różnice między gradle assemble a gradle build taks?
- 16. Jakie są różnice między VBA 6.0 a VBA 7.0?
- 17. Jakie są różnice między rzutami a ponownymi rzutami w Swift?
- 18. Jakie są różnice między trybem binarnym MD5 a trybem tekstowym?
- 19. Jakie są różnice między Tibco EMS a Rendezvous
- 20. Jakie są różnice w JIT między Javą a .Net
- 21. Jakie są duże różnice między wtyczką IntelliJ + Ruby a RubyMine?
- 22. Jakie są różnice między powłoką logowania a powłoką interaktywną?
- 23. Jakie są różnice między Hazelcast Jet a Apache Flink?
- 24. Jakie są różnice między PECL i PEAR?
- 25. Jakie są różnice między Haskell i PureScript?
- 26. Jakie są różnice między Conda i Anaconda
- 27. Jakie są różnice między @dynamic i @synthesize?
- 28. Jakie są różnice między LinFu.DynamicProxy i Castle.DynamicProxy?
- 29. Jakie są różnice między możliwościami obliczeniowymi CUDA?
- 30. Jakie są różnice między utf8_general_ci i utf8_unicode_ci?
Pomocny artykuł. – user2749421