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: Unterschied zwischen Klassen und Objekten - OO-Teil 2 | C# Tutorial Deutsch 2024, April
Anonim

Objekt gegen Instanz

Objektorientierte Programmierung (OOP) ist eines der beliebtesten Programmierparadigmen. In OOP liegt der Fokus darauf, über das zu lösende Problem in Bezug auf reale Elemente nachzudenken und das Problem in Bezug auf Objekte und deren Verhalten darzustellen. Viele Programmiersprachen, die wichtige Aspekte 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 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 einfachen Worten ist eine Klasse eine Blaupause oder eine Vorlage für ein bestimmtes reales Objekt. Damit,Ein Objekt ist der Speicherblock, in dem die erforderlichen Informationen gemäß dieser Blaupause gespeichert werden. Instanz ist ein Speicherblock, der auf ein Objekt verweist.

Was ist ein Objekt?

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

neues Auto();

Hier wird vom neuen Operator ein Autoobjekt erstellt und ein Verweis auf das Objekt zurückgegeben. Der neue Operator wird zusammen mit dem Konstruktor der Car-Klasse zum Erstellen des neuen Objekts verwendet. Die Lebensdauer des Objekts beginnt vom Aufruf seines Konstruktors bis zur Zerstörung. Sobald ein Objekt nicht referenziert wird, wird es vom Garbage Collector entfernt / zerstört.

Was ist eine Instanz?

Instanz ist ein Speicherblock, der den Verweis auf ein Objekt enthält. Mit anderen Worten, die Instanz behält die Adresse des Startspeicherblocks bei, 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 Laufzeit-Engine berechnet, damit wir dorthin gehen können, wo die einzelnen Daten oder Methodenreferenzen gespeichert sind. Der folgende abgeschnittene Java-Code kann verwendet werden, um eine Instanz eines Car-Objekts zu erstellen.

Auto myCar = neues Auto ();

Wie oben erwähnt, erstellt der neue Bediener das Car-Objekt und gibt den Verweis darauf zurück. Diese Referenz wird in der Fahrzeugtypvariablen myCar gespeichert. MyCar ist also die Instanz des erstellten Car-Objekts.

Was ist der Unterschied zwischen einem Objekt und einer Instanz?

Objekt ist ein zusammenhängender Speicherblock, in dem die tatsächlichen Informationen gespeichert werden, 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 sich auf dasselbe Objekt beziehen. Die Lebensdauer eines Objekts und einer Instanz hängt nicht zusammen. Daher könnte eine Instanz null sein. Sobald alle auf ein Objekt verweisenden Instanzen entfernt wurden, wird das Objekt zerstört.

Empfohlen: