Konstrukteur in einer Klasse

Einführung

Fokussierung auf das Konzept der Konstrukteure in a Klasse, werden wir anhand eines Beispiels diskutieren, was ein Konstruktor und sein Typ ist. So kann ein Konstruktor als spezielle Methode in einer Klasse verstanden werden, die beim Anlegen eines Objekts automatisch aufgerufen wird. Es erfordert keinen expliziten Methodenaufruf.

Definition

Ein Konstruktor ist eine spezielle Methode in einer Klasse, die aufgerufen wird, wenn das Objekt erstellt oder instanziiert wird.

Art der Konstruktoren

Es gibt zwei Arten von Konstruktoren:

  • Instanzkonstruktor
  • Statischer Konstruktor

Instanzkonstruktoren

Der Instanzkonstruktor ist die vordefinierte Instanzmethode der Klasse namens constructor. Bei der Deklaration des Konstruktors sind einige Punkte zu beachten. Sie sind:

  • Der Name der Konstruktormethode muss unabhängig vom Klassennamen oder -typ immer CONSTRUCTOR sein.
  • Es wird mit einer Methodenanweisung in der deklariert Sichtbarkeitsabschnitt der Klasse.
  • Die Methodensignatur kann nur Importparameter oder Ausnahmen enthalten. Es sind keine Exportparameter enthalten.
  • Die Methode instance kann verwendet werden, um Standardwerte in der Klasse zu setzen.
  • Die Methode instance kann jedoch sowohl auf Instanzen als auch auf statische Variablen zugreifen.
  • Es wird jedes Mal aufgerufen, wenn das Objekt erstellt wird.

Statische Konstruktoren

Der statische Konstruktor ist die vordefinierte statische Methode der Klasse namens class_constructor. Bei der Deklaration des statischen Konstruktors sind einige Punkte zu beachten. Sie sind:

  • Der Name der Methode class_constructor muss CLASS_CONSTRUCTOR lauten.
  • Es wird mit der CLASS_METHODS-Anweisung im öffentlichen Abschnitt der Klasse deklariert.
  • Die Methodensignatur darf keine Import- oder Exportparameter oder Ausnahmen enthalten.
  • Die statische Methode kann verwendet werden, um Standardwerte global festzulegen.
  • Die statische Methode kann nur auf die statischen Variablen zugreifen.
  • Sie wird genau einmal vor dem ersten Zugriff auf die Klasse aufgerufen.

 

Beispiel

Sehen wir uns ein einfaches Beispiel an:

KLASSEN-Demo DEFINITION. ÖFFENTLICHER ABSCHNITT. METHODEN: KONSTRUKTOR. „Instanzkonstruktor“ CLASS_METHODS: CLASS_CONSTRUCTOR. „Statischer Konstruktor“ ENDKLASSE. UMSETZUNG DER KLASSEN-Demo. METHODE KONSTRUKTOR. SCHREIBEN: „Instanzkonstruktor wird initiiert“. BEENDEN SIE METHODE. METHODE CLASS_CONSTRUCTOR. SCHREIBEN: „Statischer Konstruktor wird initiiert“. BEENDEN SIE METHODE. ENDE KLASSE. **Klassenobjekterstellung** DATEN: demo_obj TYPE REF TO Demo. OBJEKT ERSTELLEN demo_obj.

AUSGABE

Static Constructor wird gestartet

Instanzkonstruktor wird initiiert

 

Im Definitionsteil der Klasse ist der CONSTRUCTOR der mit Methoden definierte Instanzkonstruktor und der statische Konstruktor ist mit class_methods als CLASS_CONSTRUCTOR definiert. Und ihre Implementierungen erhalten den Teil IMPLEMENTATION. Beim Erstellen des Objekts demo_obj werden die Instanz und der statische Konstruktor aufgerufen.

Wie wir sehen können, zeigt die Ausgabe eine statische Konstruktorimplementierung vor dem Instanzkonstruktor an, weil die Methode CLASS_CONSTRUCTOR vor der Methode CONSTRUCTOR ausgelöst wird.

Ein Kommentar

Hinterlassen Sie eine Nachricht

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.