ABAP Objects

Objektorientiertes ABAP für moderne Clean Core SAP Systeme

Grundlagen der Objektorientierung

(C) Brandeis Consulting📁

Objektorientierung - Theorie

  • Objektorientierung ist ein übergreifendes Konzept für die Programmierung
  • Es wird in den einzelnen Programmiersprachen ggf. mit Lücken und Ergänzungen interpretiert
  • Daher der Blick über den Tellerrand und erst später der Fokus auf SAP ABAP
(C) Brandeis Consulting📁

Das Wichtigste auf einem Blick

ByteByteGo Poster OO

Abstraction / Abstraktion

Nur die wesentlichen Merkmale eines Objekts werden verwendet.

Encapsulation / Kapselung

Daten und Methoden werden zusammen betrachtet und vor externem Zugriff geschützt.

Inheritence / Vererbung

Wiederverwendung von Code, wenn eine neue (Kind-)Klasse sehr viel von den Eltern übernehmen kann.

Polymorphism / Polymorphie

Eine Methode kann kann je nach Objekt unterschiedlich ausgeführt werden.

(C) Brandeis Consulting📁

Abstraction / Abstraktion

ByteByteGo Abstraktion

Definition ByteByteGo

Dabei werden Implementierungsdetails ausgeblendet und nur die wesentlichen Merkmale eines Objekts angezeigt. Beispielsweise eine Fahrzeugklasse mit einer abstrakten Stoppmethode.

Definition Wikipedia

Eine Klassifizierung ist im Allgemeinen eine Einschränkung/Vereinfachung der realen Welt in einem ganz speziellen Kontext. Es wird also niemals „die“ Klassifizierung geben.

Beispiel

Klasse Car besitzt eine allgemeingültige Methode stop.

(C) Brandeis Consulting📁

Encapsulation / Kapselung

ByteByteGo Kapselung

Definition ByteByteGo

Dabei werden Daten (Felder) und Methoden in einer einzigen Einheit (Klasse) zusammengefasst und der direkte Zugriff mithilfe von Zugriffsmodifikatoren eingeschränkt. Beispielsweise private Felder mit öffentlichen Gettern und Settern.

Definition Wikipedia

Die Datenkapselung erlaubt das Abschotten der internen Implementierung vor direktem externen Zugriff. Dieser darf nur über eine explizit definierte Schnittstelle erfolgen, um ihn unabhängig von den Implementierungsdetails zu machen.

Beispiel

Die Variable name ist vor externem Zugriff geschützt und nur über entsprechende Methoden verfügbar.

(C) Brandeis Consulting📁

Inheritence / Vererbung

ByteByteGo Vererbung

Definition ByteByteGo

Der Prozess der Erstellung einer neuen Klasse (Kind), die Attribute und Methoden von einer vorhandenen Klasse (Eltern) erbt und so die Wiederverwendung von Code fördert. Beispielsweise erbt eine Autoklasse von einer Fahrzeugklasse.

Definition Wikipedia

In der Regel ist in objektorientierten Ansätzen das Konzept der Vererbung zu finden, bei dem Eigenschaften und Methoden zwischen Klassen hierarchisch ausgetauscht beziehungsweise ergänzt werden können.

Beispiel

Car erbt von Vehicle und ergänzt doors. Methode describe wird verändert.

(C) Brandeis Consulting📁

Polymorphism / Polymorphie

ByteByteGo Polymorphie

Definition ByteByteGo

Dadurch können Methoden je nach dem Objekt, für das sie aufgerufen werden, unterschiedlich ausgeführt werden. Wenn zwei Typen eine Vererbungskette gemeinsam nutzen, können sie fehlerfrei austauschbar verwendet werden.

Definition Wikipedia

Das Konzept der Polymorphie (Vielgestaltigkeit) bewirkt, dass Eigenschaften oder Methoden einer Klasse von Objekten referenziert werden können, ohne dass die konkrete Ausprägung in einem angesprochenen Objekt bekannt sein muss.

Beispiel

Methode start existiert in Car und Vehicle und tut etwas.

(C) Brandeis Consulting📁

Zusammenfassung

(C) Brandeis Consulting📁