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.
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
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.
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.
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. |
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.
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
1.Tutorialspoint.com. "Java-Objekt und Klassen." Die Stelle, Hier verfügbar