Objektorientierte SAP ABAP – Objekte und Klassen

In diesem Tutorial lernen wir eines der Prinzipien kennen, auf denen ABAP basiert – Objektorientierte Programmierung.

Wir werden lernen, was OOP bedeutet und was es in der Welt von SAP ABAP bedeutet.

Was ist OOP?

  • Die objektorientierte Programmierung unterteilt Aufgaben in Objekte mit Daten und Funktionen.
  • Diese Methode macht die Softwareprogrammierung verständlich, flexibel und wiederverwendbar.
  • Die objektorientierte Programmierung (OOP) wurde mit Blick auf Einfachheit und Beredsamkeit entwickelt.
  • Es lässt Menschen klar kommunizieren, Informationen und Ideen in einer gemeinsamen Sprache austauschen – der Sprache der Objekte.
  • Diese Objekte bestehen aus ihren beiden Hauptmerkmalen – Eigenschaften (Daten) und Verhalten (oder Funktionen)

Die Hauptmerkmale von OOP sind –

  1. Datenabstraktion
  2. Kapselung
  3. Betonung auf Daten statt Prozedur
  4. Verwendung von realen Entitäten namens ‚Objekt‘
  5. Datenschutz und -schutz

Bleiben Sie über die neuesten Technologietrends auf dem Laufenden
Treten Sie DataFlair auf Telegram bei!!

POP vs OOP

Prozedurorientierte Programmierung (POP) nähert sich Problemen in einer Top-Down-Methode. Es betont Verfahren eher als Daten in einer linearen Art und Weise.

Lassen Sie uns ein paar Unterschiede zwischen POP und OOP sehen –

KNALL OOP
POP steht für Prozedurorientierte Programmierung OOP steht für Objektorientierte Programmierung
Es konzentriert sich eher auf Verfahren (Aufgaben ausführen) als auf Daten (Aufgaben) Es konzentriert sich eher auf Daten / Aufgaben als auf Verfahren
POP folgt der Top-Down-Mode bei der Problemlösung OOP folgt der Bottom-Up-Mode bei der Problemlösung
Es teilt ein Programm in kleinere Teile namens funktionen oder Module Es unterteilt ein Programm in kleinere Teile, die als Objekte bezeichnet werden
Funktionen teilen globale Daten und Daten können nicht voneinander ausgeblendet werden Funktionen teilen keine globalen Daten – Sie können entscheiden, wer auf Ihre Daten zugreifen kann
Es wird nicht viel Wert auf Datenschutz gelegt Einer der Hauptschwerpunkte in OOP ist der Datenschutz
Die Erweiterung der Funktionalität und das Hinzufügen von Daten ist mühsam und zeitaufwändig Es ist sehr einfach, die Funktionalität zu erweitern und neue Daten hinzuzufügen, indem Sie einfach neue Objekte hinzufügen
Konzepte der Vererbung, Polymorphismus, Kapselung werden nicht verwendet Konzepte der Vererbung, Polymorphismus, Kapselung bilden die Grundlage von OOP
ZB C, Pascal, FORTRAN zB Java, Python, C++

OOP in ABAP

  • SAP entwickelte ABAP zunächst als POP-Sprache.
  • Im Laufe der Zeit wurde es jedoch verschoben und in eine OOP-Sprache umgewandelt
  • Daher folgt ABAP nun den Grundsätzen der Objektorientierung und Paradigmen wie Objekte.
  • Als Teil von OOP verwendet ABAP die Konzepte Vererbung, Überladung, Datenversteck usw. für bessere Funktionalität.

Beginnen wir mit dem Verständnis einiger Grundbegriffe von OOP

Grundbegriffe zu kennen

BEGRIFF BEDEUTUNG
Objekt eine reale Entität mit Daten und Verhalten
Class eine komplexe Sammlung von Objekten, die hauptsächlich Datenfelder und Merkmale enthalten, die sich auf die Daten beziehen
Methode Verhalten eines Objekts z. funktionsbausteine, die das Objekt ausführt
Member entweder das Datenelement oder die Elementfunktion einer Klasse
Instanz Synonym für Objekt, normalerweise verwendet als ‚Instanz einer Klasse‘
Instanziierung Erstellen eines neuen Objekts einer Klasse

Objekte in SAP ABAP

  • Ein Objekt ist eine reale Entität, die Daten und Verhalten enthält.
  • Diese Eigenschaften und das Verhalten definieren den Zustand des Objekts und die Aktionen, die das Objekt ausführen wird.
  • Ein Objekt ist, wie bereits erwähnt, ein Blueprint oder eine Instanz einer Klasse.
  • Für z.B. einen Mitarbeiter, ein Buch, einen Apfelbaum – alles sind Objekte.

Erstellen eines Objekts in ABAP

Lassen Sie uns sehen, wie Sie ein Objekt in ABAP erstellen –

Syntax:

DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.

Beispiel:

DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.

Bericht Beispiel:

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS ClassDataFlair Definition.Public Section.DATA: dataflairtext(45) VALUE 'Data Flair OOPS tutorial in ABAP: data.'.METHODS: DataFlairMethod.ENDCLASS.CLASS ClassDataFlair Implementation.METHOD DataFlairMethod.Write:/ 'Data Flair OOPS tutorial in ABAP: method.'.ENDMETHOD.ENDCLASS.START-OF-SELECTION.DATA: ClassDataFlair TYPE REF TO ClassDataFlair.CREATE Object: ClassDataFlair.Write:/ ClassDataFlair->dataflairtext.CALL METHOD: ClassDataFlair->DataFlairMethod.

Ausgabe

Daten-OOPS Tutorial in ABAP: Daten.
Daten-OOPS Tutorial in ABAP: Methode.

Klassen in SAP ABAP

  • Eine Klasse ist eine komplexe Sammlung von Objekten
  • Sie enthält Datenelemente (Merkmale) und Elementmethoden (Funktionen), die zusammen in einer einzigen Entität namens object
  • In Klassen werden Objekte erstellt und definiert
  • Wir definieren und deklarieren auch Funktionsbausteine in einer Klasse
  • Wir können die Privatsphäre einer Klasse beschreiben
  • Das bedeutet, wir können definieren, wer alle Zugriff auf bestimmte Daten einer Klasse haben kann

Erstellen einer Klasse in ABAP

Das Erstellen einer Klasse in ABAP hat zwei schritte –

1. Deklaration

Syntax –

CLASS <class_name> DEFINITION.//define classENDCLASS.

Beispiel –

CLASS dataflairclass DEFINITION.//define classENDCLASS.

2. Definition

Syntax –

CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.

Beispiel –

CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.

Attribute in SAP ABAP

  • Attribute sind die Merkmale der Klasse
  • Sie können einen beliebigen vordefinierten Datentyp wie P, F, I usw. haben.
  • Wir müssen Attribute im Abschnitt Klassendeklaration deklarieren
  • Es gibt zwei Arten von Attributen:
    • Instanz: dies schließt den instanzspezifischen Status des Objekts ein, die Änderungen sind für alle Objekte unterschiedlich und dies wird durch DATA deklariert
    • Statisch: wenn wir also einen Status ändern, können alle anderen Objekte die Änderung sehen, die durch die Anweisung CLASS-DATA deklariert wird

Methoden in SAP ABAP

  • Eine Methode ist ein Modul oder eine Funktion
  • Es ist das Verhalten des Objekts einer Klasse
  • Eine Methode kann auf jedes Merkmal einer Klasse zugreifen
  • Sie enthält Aktionen, die von Objekten ausgeführt werden, die die Klasse aufrufen
  • Die Methodendefinition kann Parameter enthalten oder nicht, die übergeben werden, wenn die Methode ist mit dem Namen
  • können wir eine Methode mit den Anweisungen METHOD und ENDMETHOD definieren

Syntax:

METHOD…ENDMETHOD

Zugriff auf Attribute und Methoden in SAP ABAP

1. Auf Methoden und Attribute können Objekte der Klasse

2 zugreifen. Die Zugriffsspezifizierer – öffentlich, privat und geschützt – funktionieren genauso wie für Klassenzugriffsspezifizierer

  • Wenn wir sie als öffentlich deklarieren, kann von jeder Klasse auf sie zugegriffen werden
  • Wenn wir sie als privat deklarieren, kann von keiner Klasse auf sie zugegriffen werden
  • Wenn wir sie als geschützt deklarieren, kann nur durch Vererben von Klassen auf sie zugegriffen werden

ein Beispiel, wie man Klassen, Attribute und Methoden schreibt und darauf zugreift –

Example:

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Data: dataflairtext01 Type char25 Value 'Public Data Flair'. Methods dataflairmethod. PROTECTED Section. Data: dataflairtext02 Type char25 Value 'Protected Data Flair'. PRIVATE Section. Data: dataflairtext03 Type char25 Value 'Private Data Flair'.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'Public Method:', / dataflairtext01, / dataflairtext02, / dataflairtext03. Skip. EndMethod.ENDCLASS.Start-Of-Selection. Data: Objectx Type Ref To dataflairclass. Create Object: Objectx. CALL Method: Objectx->dataflairmethod. Write: / Objectx->dataflairtext01.

Ausgabe

Öffentliche Methode:
Public Data Flair
Protected Data Flair
Private Data FlairPublic Data Flair

Beispiel für statische Attribute in SAP ABAP

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. CLASS-DATA: dataflairname Type char45, dataflairdata Type I. Methods: dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Do 4 Times. dataflairdata = 1 + dataflairdata. Write: / dataflairdata, dataflairname. EndDo. Skip. EndMethod.ENDCLASS.Start-Of-Selection. dataflairclass=>dataflairname = 'ABAP Object Oriented Programming'. dataflairclass=>dataflairdata = 0. Data: Object1 Type Ref To dataflairclass, Object2 Type Ref To dataflairclass. Create Object: Object1, Object2. CALL Method: Object1->dataflairmethod, Object2->dataflairmethod.

Konstruktoren in SAP ABAP

  • Konstruktoren sind spezielle Methodentypen
  • Wenn wir ein Objekt erstellen, müssen wir es initialisieren und Konstruktoren tun dies die Aufgabe, Daten für die Objekte zu initialisieren
  • Das Programm ruft Konstruktoren automatisch auf, wenn ein Objekt der Klasse erstellt wird
  • Der Konstruktor löst die enthaltene Operation aus, wenn ein Objekt in der Ausführung neu erstellt wird

Beispiel für ABAP-Konstruktoren

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Methods: dataflairmethod, constructor.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'This is the method'. EndMethod. Method constructor. Write: / 'This is the constructor'. EndMethod.ENDCLASS.Start-Of-Selection. Data Object1 Type Ref To dataflairclass. Create Object Object1.

Ausgabe

Dies ist der Konstruktor

ME-Operator in SAP ABAP

  • Wenn wir eine Variable innerhalb einer Methode mit einem anderen Wert neu definieren, verwendet diese Methode den neu definierten Wert der Variablen
  • Wenn Sie jedoch auf die ursprünglich deklarierter Wert, dann können Sie den ME-Operator verwenden
  • Sehen wir uns ein Beispiel für die Verwendung des ME-Operators an

Beispiel für den ME-Operator in ABAP

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section.Data dataflairtext Type char25 Value 'Here we have class value'. Methods dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod.Data dataflairtext Type char25 Value 'Here we have method value'. Write: / ME->dataflairtext, / dataflairtext. ENDMethod.ENDCLASS.Start-Of-Selection. Data objectx Type Ref To dataflairclass. Create Object objectx. CALL Method objectx->dataflairmethod.

Ausgabe

Hier haben wir den Klassenwert
Hier haben wir den Methodenwert

Zusammenfassung

In diesem Tutorial lernten wir die Grundlagen kennen, auf denen ABAP und viele andere Sprachen basieren – objektorientierte Programmierung. Wir haben gelernt, wie sich die Objektorientierung von der Prozedurorientierung unterscheidet, ihre Bedeutung und die wichtigsten Begriffe.

In Teil 2 dieses Tutorials werden wir uns mit weiteren Konzepten der Objektorientierung wie Vererbung, Polymorphismus usw. befassen.

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht.