Unterschied zwischen Konstruktor und Destruktor

Inhaltsverzeichnis:

Unterschied zwischen Konstruktor und Destruktor
Unterschied zwischen Konstruktor und Destruktor

Video: Unterschied zwischen Konstruktor und Destruktor

Video: Unterschied zwischen Konstruktor und Destruktor
Video: Konstruktor - Objektorientierte Programmierung in Java 3 2024, Juli
Anonim

Hauptunterschied – Konstruktor vs. Destruktor

Die meisten Programmiersprachen unterstützen die objektorientierte Programmierung (OOP). Es ist das Paradigma, das hilft, eine Software oder ein Programm mithilfe 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 gängige Begriffe in der objektorientierten Programmierung. Dieser Artikel beschreibt den Unterschied zwischen einem Konstruktor und einem Destruktor. Ein Konstruktor und ein Destruktor sind spezielle Elementfunktionen in einer Klasse. Ein Konstruktor und ein Destruktor haben denselben Namen wie die Klasse, aber der Destruktor hat ein Tilde-Zeichen (~). Der Hauptunterschied 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.

Was ist ein Konstruktor?

Ein Konstruktor ist eine spezielle Elementfunktion 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.

öffentliches Klassenrechteck{

int Länge, Breite;

öffentliches Rechteck(int p, int q){

Länge=p;

Breite=q;

}

public int computeArea(){

Rücklauf (LängeBreite);

}

}

Gemäß obigem Codestück hat der Konstruktor den gleichen Namen wie der Klassenname. Der Konstruktor Rectangle akzeptiert zwei Parameter. Sie sind p und q. Der Länge wird der ganzzahlige Wert p zugeordnet. Der Breite wird der ganzzahlige Wert q zugeordnet. In calcu alteArea wird die Multiplikation von Länge und Breite berechnet, um die Fläche des Rechtecks zu finden. Im Hauptprogramm kann der Programmierer ein Objekt vom Typ Rectangle erstellen und die Argumente übergeben. z. B. Rechteck rect1=neues Rechteck(2, 3). Dann wird der parametrisierte Konstruktor aufgerufen und weist Länge und Breite die Werte zu.

Unterschied zwischen Konstruktor und Destruktor
Unterschied zwischen Konstruktor und Destruktor

Abbildung 01: Konstruktor und Destruktor

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

Was ist ein Destruktor?

Ein Destruktor ist eine spezielle Elementfunktion in der Klasse. Es wird verwendet, um Speicher für ein vom Konstruktor erstelltes Objekt freizugeben. Der Destruktor wird aufgerufen, wenn das Objekt zerstört wird. Es führt die nicht mehr benötigte Bereinigungsspeicherung durch. Der Destruktor hat wie der Konstruktor den gleichen Namen wie die Klasse. Es enthält auch ein Tilde-Symbol (~).

Ein Destruktor gibt keinen Wert zurück. Anders als ein Konstruktor akzeptiert der Destruktor keine Parameter. Der Destruktor unterstützt also kein Überladen. Das Deklarieren eines Destruktors wird als gute Programmierpraxis angesehen, da es den Speicherplatz freigibt und dieser Platz zum Speichern einiger anderer Objekte verwendet werden kann. Die Syntax des Destruktors ähnelt ~className() { }. z. B. ~Rechteck() { }; Es kann nur einen einzigen Destruktor in einer Klasse geben.

Was sind die Ähnlichkeiten zwischen Konstruktor und Destruktor?

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

Was ist der Unterschied zwischen Konstruktor und Destruktor?

Konstruktor gegen Destruktor

Ein Konstruktor ist ein spezielles Element in der Klasse, das verwendet wird, um einem Objekt Speicher zuzuweisen. Ein Destruktor ist ein spezielles Element der Klasse, das verwendet wird, um den Speicher eines Objekts freizugeben.
Aufrufmethode
Ein Konstruktor wird aufgerufen, wenn das Objekt erstellt wird. Ein Destruktor wird aufgerufen, wenn das Objekt zerstört oder gelöscht wird.
Verwendung
Ein Konstruktor wird verwendet, um Speicher für die Objekte zuzuweisen. Ein Destruktor wird verwendet, um Speicher für die Objekte freizugeben.
Parameter
Ein Konstruktor akzeptiert Parameter. Ein Destruktor akzeptiert keine Parameter.
Anzahl der Konstruktoren und Destruktoren
Es kann mehrere Konstruktoren mit einer unterschiedlichen Anzahl von Parametern und unterschiedlichen 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 (~).
Überladung
Ein Konstruktor kann überladen werden. Ein Destruktor kann nicht überladen werden.

Zusammenfassung – Konstruktor vs. Destruktor

OOP ist ein gängiges Paradigma in der Softwareentwicklung. Es kann ein komplexes Projekt vereinfachen. In OOP werden ein Konstruktor und ein Destruktor verwendet. Ein Konstruktor und ein Destruktor haben denselben Namen wie die Klasse, aber der Destruktor hat 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 dazu verwendet wird, 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äß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen Konstruktor und Destruktor

Empfohlen: