Unterschied zwischen Konstruktor und Destruktor

Schlüsseldifferenz - Konstruktor vs Zerstörer
 

Die meisten Programmiersprachen unterstützen Object Oriented Programming (OOP). Es ist das Paradigma, das hilft, eine Software oder ein Programm unter Verwendung von Objekten zu modellieren. OOP verbessert die Produktivität und Wartbarkeit. In OOP wird alles als Objekt betrachtet. Die Objekte werden mithilfe von Klassen erstellt oder instanziiert. Konstruktor und Destruktor sind gebräuchliche Begriffe in der objektorientierten Programmierung. Dieser Artikel beschreibt den Unterschied zwischen einem Konstruktor und einem Destruktor. Ein Konstruktor und ein Destruktor sind spezielle Memberfunktionen in einer Klasse. Konstruktor und Destruktor haben denselben Namen wie die Klasse, aber der Destruktor hat ein Tildezeichen (~). Das Hauptunterschied zwischen Konstruktor und Destruktor ist das Ein Konstruktor wird verwendet, um einem Objekt Speicher zuzuweisen, während ein Destruktor verwendet wird, um den Speicher eines Objekts freizugeben.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist ein Konstruktor?
3. Was ist ein Destruktor?
4. Ähnlichkeiten zwischen Konstruktor und Destruktor
5. Side-by-Side-Vergleich - Konstruktor vs Destruktor in Tabellenform
6. Zusammenfassung

Was ist ein Konstruktor??

Ein Konstruktor ist eine spezielle Memberfunktion in der Klasse, um einem Objekt Speicher zuzuweisen. Es kann verwendet werden, um Werte für die Datenelemente bereitzustellen. Der Konstruktor wird aufgerufen, wenn das Objekt erstellt wird. Es hat den gleichen Namen wie der Klassenname. Ein Konstruktor gibt keinen Wert zurück. Daher enthält es keinen Rückgabetyp. Ein Konstruktor kann auch Parameter akzeptieren. Ein Konstruktor mit Parametern wird als parametrisierter Konstruktor bezeichnet.

Ein Beispiel für einen Konstruktor ist wie folgt.

öffentliche Klasse Rechteck

Länge, Breite;

öffentliches Rechteck (int p, int q)

Länge = p;

Breite = q;

public int berechneArea ()

Rückkehr (Länge * Breite);

Gemäß dem obigen Code hat der Konstruktor denselben Namen wie der Klassenname. Das Konstruktor-Rechteck akzeptiert zwei Parameter. Sie sind p und q. Der ganzzahlige Wert p wird der Länge zugewiesen. Der ganzzahlige Wert q wird der Breite zugewiesen. In calcualteArea wird die Multiplikation von Länge und Breite berechnet, um die Fläche des Rechtecks ​​zu ermitteln. Im Hauptprogramm kann der Programmierer ein Objekt vom Typ Rechteck erstellen und die Argumente übergeben. z.B. Rechteck rect1 = neues Rechteck (2,3). Dann wird der parametrisierte Konstruktor aufgerufen und weist die Werte Länge und Breite zu.

Abbildung 01: Konstruktor und Destruktor

Wenn ein Konstruktor ohne Parameter vorhanden ist, wird er als Standardkonstruktor bezeichnet. Wenn der Programmierer keinen Konstruktor definiert, wird der Standardkonstruktor aufgerufen. Wenn es eine Klasse als Student gibt und wenn der Programmierer ein Objekt vom Typ Student erstellt, wird der Standardkonstruktor aufgerufen. z.B. Student s1 = neuer Student (); In einer Klasse kann es mehrere Konstruktoren mit unterschiedlichen Parametern und unterschiedlichen Datentypen geben. Der entsprechende Konstruktor kann entsprechend aufgerufen werden. Konstruktoren können daher überladen werden.

Was ist ein Destruktor??

Ein Destruktor ist eine spezielle Memberfunktion in der Klasse. Mit dieser Funktion wird der Speicher für ein vom Konstruktor erstelltes Objekt aufgehoben. Der Destruktor wird aufgerufen, wenn das Objekt zerstört wird. Es führt den nicht mehr benötigten Bereinigungsspeicher aus. Wie der Konstruktor hat der Destruktor denselben Namen wie die Klasse. Es enthält auch ein Tilde (~) Symbol.

Ein Destruktor gibt keinen Wert zurück. Im Gegensatz zu einem Konstruktor akzeptiert der Destruktor keine Parameter. Destruktor unterstützt also keine Überladung. Das Deklarieren eines Destruktors wird als eine gute Programmierpraxis betrachtet, da dadurch Speicherplatz freigegeben wird und dieser Speicherplatz zum Speichern einiger anderer Objekte verwendet werden kann. Die Destruktor-Syntax ähnelt ~ className () . z.B. ~ Rechteck () ; Es kann nur einen Destruktor in einer Klasse geben.

Was sind die Ähnlichkeiten zwischen Konstruktor und Destruktor?

  • Konstruktor und Destruktor sind Objekten zugeordnet.
  • Konstruktor und Destruktor geben keinen Wert zurück.
  • Konstruktor und Destruktor werden automatisch aufgerufen.

Was ist der Unterschied zwischen Konstruktor und Destruktor?

Konstruktor gegen Zerstörer

Ein Konstruktor ist ein spezieller Member in der Klasse, der verwendet wird, um einem Objekt Speicher zuzuweisen. Ein Destruktor ist ein spezielles Member der Klasse, mit der der Speicher eines Objekts freigegeben wird.
 Methode des Aufrufs
Ein Konstruktor wird aufgerufen, wenn das Objekt erstellt wird. Ein Destruktor wird aufgerufen, wenn das Objekt zerstört oder gelöscht wird.
Verwendungszweck
Über einen Konstruktor wird Speicher für die Objekte zugewiesen. Ein Destruktor wird verwendet, um Speicher für die Objekte freizugeben.
 Parameter
Ein Konstruktor akzeptiert Parameter. Ein Destruktor akzeptiert keine Parameter.
Anzahl Konstruktoren und Destruktoren
Es kann mehrere Konstruktoren mit einer unterschiedlichen Anzahl von Parametern und verschiedenen Parametertypen geben. Es kann einen einzelnen Destruktor in der Klasse geben.
Ausführungsgeschwindigkeit
Ein Konstruktor hat denselben Namen wie der Klassenname. Ein Destruktor hat denselben Namen wie der Klassenname mit einem Tilde-Symbol (~).
Überlastung
Ein Konstruktor kann überladen werden. Ein Destruktor kann nicht überladen werden.

Zusammenfassung - Konstrukteur vs Zerstörer

OOP ist ein allgemeines Paradigma in der Softwareentwicklung. Es kann ein komplexes Projekt vereinfachen. Ein Konstruktor und ein Destruktor werden in OOP verwendet. Konstruktor und Destruktor haben denselben Namen wie die Klasse, der Destruktor hat jedoch ein ~ Zeichen. Der Unterschied zwischen einem Konstruktor und einem Destruktor besteht darin, dass ein Konstruktor verwendet wird, um einem Objekt Speicher zuzuweisen, während ein Destruktor verwendet wird, um den Speicher eines Objekts freizugeben.

Laden Sie das PDF von Constructor vs Destructor herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitatvermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter: Unterschied zwischen Konstruktor und Destruktor

Referenz:

1.Tutorialspoint.com. "Java-Objekt und Klassen." Die Stelle, Hier verfügbar