VL 8 Ausgabe über ALV Flashcards
Von einer Klasse, die mit ‘CLASS myclass DEFINITION CREATE PRIVATE’
deklariert worden ist, kann ein Verwender keine Referenzobjektvariablen
instanziieren.Wie lassen sich dennoch Instanzobjekte erzeugen, um mit der Klasse zu
arbeiten?
Wie können Daten an eine derartige Klasse übergeben werden?
Hinweis: Beantworten Sie obige Fragen mit eigenen Worten.
Mit der Factory Methode lassen sich Instanzobjekte bei einer derartigen Klasse instanziieren.
In solch einer Klasse wird eine statische Methode zur Erzeugung von Objekten deklariert,
dabei wird mit RETURNING der definierte Rückgabewert als Referenzvariable verwendet.
Somit lässt sich dann mit einem Methodenaufruf dieser statischen Methode ein Instanzob-jekt erstellen, der Rückgabewert(Daten) wird dann mit RETURNING übertragen.
Factory Methode?*
Falls die Implementierung einer Klasse mit CLASS myclass DEFINITION CREATE PRIVATE,
deklariert worden ist, hilft die Factory Methode von dieser Klasse dennoch Instanzobjekte zu er-zeugen mit denen man Arbeiten kann.
Die Factory Methode erzeugt ein Objekt und eine Referenz auf das erzeugte Objekt zurück.
Vorteil: Klasse kontrolliert die Erzeugung von Objekten selbst (Kapselung).
Ist es sinnvoll, dass eine Klasse die Instanziierung ihrer Objekte nicht zulässt?
Begründen Sie kurz Ihre Antwort.
Ist nicht sinnvoll, denn dies würde gegen die objektorientierte Programmierung spreche,
da die OO Programmierung basiert drauf das Klassen als eine „Baupläne“ dienen,
die man während der Laufzeit zu einem konkreten Objekt macht.
Im Rahmen der objektorientierten Ausgabeerzeugung ist eine spezielle Kontrollstruktur zur Ausnahmenbehandlung erforderlich.
Beschreiben Sie diese kurz und erklären ihre Elemente.
Es wird ein klassenbasiertes Ausnahmekonzept, zur Ausnahmebehandlung verwendet.
Es ist die TRY-Kontrollstruktur.
TRY-Block= Der normale Programmcode der ausgeführt wird
CATCH-Blöcken (können mehrere sein) = hier werden die ausgelösten Ausnahmesituationen über bestimmte anwendungsspezifische Methoden behandelt.
CLEANUP-Blöcke= Können im Anschluss die Bereinigungsaufgaben übernehmen nach der Aus-nahmesituation (Excetpion)
Warum muss die Kontrollstruktur in Frage 40 angewendet werden, wenn z.B.
Spaltentitel einer internen Tabelle durch individuellen Text ersetzt werden
soll.
Auslösung einer Exception, was sonst zu einem Lauftzeitfehler führen kann, wenn sowas unbehandelt bleibt