Unterschied zwischen Objekt und Instanz

Unterschied zwischen Objekt und Instanz
Unterschied zwischen Objekt und Instanz

Video: Unterschied zwischen Objekt und Instanz

Video: Unterschied zwischen Objekt und Instanz
Video: Videokamera-Vergleich: Nokia N8 vs. Apple iPhone 4 | BestBoyZ 2024, Juli
Anonim

Objekt vs. Instanz

Objektorientierte Programmierung (OOP) ist eines der beliebtesten Programmierparadigmen. In OOP liegt der Schwerpunkt darauf, das zu lösende Problem in Bezug auf Elemente der realen Welt zu denken und das Problem in Bezug auf Objekte und ihr Verh alten darzustellen. Viele Programmiersprachen, die Schlüsselaspekte von OOP unterstützen (sogenannte OOP-Sprachen), haben die Klasse als Hauptprogrammierwerkzeug. Sie werden als klassenbasiert bezeichnet. Klassen sind eine abstrakte Darstellung von Objekten der realen Welt. Klassen haben Eigenschaften, die Attribute genannt werden. Attribute werden als globale und Instanzvariablen implementiert. Methoden in den Klassen repräsentieren oder definieren das Verh alten dieser Klassen. Methoden und Attribute von Klassen werden als Mitglieder der Klasse bezeichnet. Sehr einfach ausgedrückt ist eine Klasse eine Blaupause oder eine Vorlage für ein bestimmtes reales Objekt. Ein Objekt ist also der oder die Speicherblöcke, die zum Speichern der erforderlichen Informationen gemäß diesem Bauplan verwendet werden. Instanz ist ein Speicherblock, der auf ein Objekt verweist.

Was ist ein Objekt?

Objekte sind die Ergebnisse der Instanziierung einer Klasse. Instanziierung ist der Prozess, bei dem die Blaupause genommen und jedes Attribut und Verh alten so definiert wird, dass das resultierende Objekt tatsächlich ein reales Objekt darstellt. Das Objekt ist ein dedizierter und kontinuierlicher Speicherblock, der zum Speichern von Informationen wie Variablen, Methoden oder Funktionen usw. zugewiesen wird. Das Objekt wird unter Verwendung des neuen Operators in der Programmiersprache Java erstellt. Wenn es beispielsweise eine Klasse namens Auto gibt, kann Folgendes verwendet werden, um ein Objekt der Klasse Auto zu erstellen.

neues Auto();

Hier wird ein Car-Objekt vom new-Operator erstellt und eine Referenz auf das Objekt zurückgegeben. Der new-Operator wird zusammen mit dem Konstruktor der Car-Klasse verwendet, um das neue Objekt zu erstellen. Die Lebensdauer des Objekts beginnt mit dem Aufruf seines Konstruktors bis zu seiner Zerstörung. Sobald auf ein Objekt nicht verwiesen wird, wird es vom Garbage Collector entfernt/zerstört.

Was ist eine Instanz?

Instanz ist ein Speicherblock, der die Referenz auf ein Objekt enthält. Mit anderen Worten, Instance behält die Adresse des Startspeicherblocks, in dem das Objekt gespeichert ist. Tatsächlich kann der Name der Instanz verwendet werden, um auf den Anfang des Objektspeicherbereichs zuzugreifen. Offsets aus dem Startspeicher werden von der Laufzeitmaschine berechnet, damit wir dorthin gehen können, wo die einzelnen Daten- oder Methodenreferenzen gespeichert sind. Der folgende ausgeschnittene Java-Code kann verwendet werden, um eine Instanz eines Car-Objekts zu erstellen.

Car myCar=neues Auto();

Wie oben erwähnt, erstellt der new-Operator das Car-Objekt und gibt die Referenz darauf zurück. Diese Referenz wird in der Autotyp-Variable myCar gespeichert. Also ist myCar die Instanz des erstellten Car-Objekts.

Was ist der Unterschied zwischen einem Objekt und einer Instanz?

Objekt ist ein zusammenhängender Speicherblock, der die tatsächlichen Informationen speichert, die dieses Objekt von anderen Objekten unterscheiden, während eine Instanz eine Referenz auf ein Objekt ist. Es ist ein Speicherblock, der auf die Startadresse zeigt, an der das Objekt gespeichert ist. Zwei Instanzen können auf dasselbe Objekt verweisen. Die Lebensdauer eines Objekts und einer Instanz sind nicht miteinander verbunden. Daher könnte eine Instanz null sein. Sobald alle Instanzen, die auf ein Objekt verweisen, entfernt sind, wird das Objekt zerstört.

Empfohlen: