Foliensatz 9: Interface Flashcards
Was ist ein Interface?
- Ein Interface ist eine eigenständige Schnittstelle von Klasse.
- Im Gegensatz zu abstrakten Klassen erfolgt eine Entkopplung vom Vererbungspfad, d.h. bei Erben ist eine Instanziierung erst bei den Unterklassen möglich.
- dient dazu, damit Klassen den Zugang gewährt wird, die nicht auf dem Vererbungspfad liegen.
- Damit losere Kopplung.
- Interface gewährt schon Zugang, obwohl Instanziierung erst in Unterklasse möglich
Welche Aufgabe besitzt ein Interface – welche Aufgabe übernimmt dann die Klasse des Interface?
Interfaces sind spezielle abstrakte Klassen ohne Implementierung mit Mehrfachvererbung.
Jede Klasse kann mehrere Interfaces implementieren, das Interface muss bekannt sein (global oder selbes Programm) und es muss erlaubt sein durch die Paketzuordnung.
Methoden im Interface sind alle abstrakt, werden dann in den Klassen implementiert. Jede Klasse kann also Schnittstelle unterschiedlich implementieren, ohne das dies für Verwender sichtbar ist
Kann ein Interface auf eine Klasse zugreifen, deren Attribute und Methoden alle als privat gesetzt worden sind?
Interface kann auf auf Komponenten einer Klasse zugreifen, die das Interface implementieren. Andere Komponenten (eigene Klassenkomponenten oder Komponenten anderer Interfaces) sind dagegen nicht ansprechbar. Also kann nicht auf private Attribute und Methoden zugreifen.
Was ist ein BAdl?
- BAdl steht für SAP Business Add-Ins
- einer der wichtigsten Technologien um SAP Software an spezifische Anforderungen anzupassen
- dienen dazu, vordefinierte Erweiterungsoptionen in den SAP-ERP-Komponenten anzulegen, welche dann von den einzelnen Industrielösungen, Ländervarianten oder auch Partnern und Kunden geeignet implementiert werden
Welche Aufgabe haben BAdl?
- vordefinierte Erweiterungsoptionen, die dann implementiert werden
- BAdls können mehrfach implementiert werden, alle Implementierungen werden nacheinander ablaufen, damit können mehrere Prozesse, die dieselbe BAdl verwenden, sauber getrennt werden
- BAdls können neben Programmerweiterungen auch Menü- und Screenerweiterungen integrieren
- können in allen Softwareschichten angelegt und genutzt werden
Durch welche Funktionalität wird die Aufgabe von BAdls erfüllt?
- es wird ein Business Add-In definiert
- Definitionsteil eines zu BAdl gehörenden Interface ist durch SAP vordefiniert
- Verwender erstellt in Adapterklasse die Prozedurfestlegeung, implementiert also das Interface