Objekt vs Instanz
Die objektorientierte Programmierung (OOP) ist eines der beliebtesten Programmierparadigmen. In OOP liegt der Fokus darauf, über das Problem nachzudenken, das in Bezug auf reale Elemente gelöst werden soll und das Problem in Bezug auf Objekte und ihr Verhalten darstellt. Viele Programmiersprachen, die wichtige Aspekte von OOP (als OOP -Sprachen bezeichnet) unterstützen, haben die Klasse als Hauptprogrammierwerkzeug. Sie werden als klassenbasiert bezeichnet. Klassen sind eine abstrakte Darstellung realer Weltobjekte. Klassen haben Eigenschaften, die als Attribute bezeichnet werden. Attribute werden als globale und Instanzvariablen implementiert. Methoden in den Klassen repräsentieren oder definieren das Verhalten dieser Klassen. Methoden und Attribute von Klassen werden als Mitglieder der Klasse bezeichnet. In sehr einfacher Hinsicht ist eine Klasse eine Blaupause oder eine Vorlage für ein bestimmtes reales Lebensobjekt. Ein Objekt ist also die Speicherblock. Instanz ist ein Speicherblock, der sich auf ein Objekt bezieht.
Was ist ein Objekt?
Objekte sind die Ergebnisse der Instanziierung einer Klasse. Instanziierung ist der Prozess der Einnahme des Blaupause. Das Objekt ist ein dedizierter und kontinuierlicher Speicherblock, der für die Speicherung von Informationen wie Variablen, Methoden oder Funktionen usw. zugewiesen wird, usw. Das Objekt wird unter Verwendung eines neuen Operators in der Java -Programmiersprache erstellt. Wenn beispielsweise eine Klasse namens Car vorhanden ist, kann nach Folgendes ein Objekt der Autokurs erstellt werden.
neues Auto();
Hier wird vom neuen Bediener ein Autoobjekt erstellt und ein Verweis auf Objekt zurückgegeben. Der neue Bediener zusammen mit dem Konstruktor der Autoklasse wird zum Erstellen des neuen Objekts verwendet. Die Lebensdauer des Objekts beginnt vom Aufruf zum Konstruktor bis zu der Zeit, in der es zerstört wird. Sobald ein Objekt nicht verwiesen wurde, wird es vom Müllsammler entfernt/ zerstört.
Was ist eine Instanz?
Instanz ist ein Speicherblock, der den Verweis auf ein Objekt enthält. Mit anderen Worten, die Instanz hält die Adresse des Startspeicherblocks, in dem das Objekt gespeichert ist. Tatsächlich kann der Name der Instanz verwendet werden, um auf den Start des Objektspeicherbereichs zuzugreifen. Offsets aus dem Startspeicher werden von der Laufzeit -Engine berechnet, sodass wir dorthin gehen können, wo die einzelnen Daten oder Methodenreferenzen gespeichert werden. Das folgende Java -Code kann verwendet werden, um eine Instanz eines Autoobjekts zu erstellen.
Car Mycar = New Car ();
Wie oben erwähnt, erstellt der neue Bediener das Autoobjekt und gibt den Verweis darauf zurück. Diese Referenz ist im Variablen Mycar vom Automantertyp gespeichert. Mycar ist also die Instanz des erstellten Autoobjekts.
Was ist der Unterschied zwischen einem Objekt und einer Instanz?
Das Objekt ist ein zusammenhängender Speicherblock, der die tatsächlichen Informationen speichert, die dieses Objekt von anderen Objekten unterscheiden, während eine Instanz ein Verweis auf ein Objekt ist. Es ist ein Speicherblock, der auf die starrende Adresse des Objekts hinweist. Zwei Fälle können sich auf dasselbe Objekt beziehen. Die Lebensdauer eines Objekts und eine Instanz sind nicht verwandt. Daher könnte eine Instanz null sein. Sobald alle Fälle auf ein Objekt entfernt sind, wird das Objekt zerstört.