Ein Anwendungsgerüst

Beispielprogramm: ANWGER1.CPP

Das Beispielprogramm ANWGER1.CPP illustriert die Methode, die beim Erstellen eines Gerüstes für eine Anwendung zur Anwendung kommt. Wenn Du viel programmierst, wird Dir so etwas sicherlich bei Programmen für ein Betriebssystem mit GUI (Graphical User Interface - Graphische Benutzeroberfläche; etwa: Mac OS X, X Windows, MS Windows,...) nützlich sein. Es kann also nicht schaden, damit vertraut zu sein.

Die Klasse CForm ist die Basisklasse für unser triviales, aber wichtiges Beispiel und besteht aus vier Methoden, aber keinen Datenelementen. Die Methode mit dem Namen ZeigeForm() ruft die anderen drei auf, um unsere kleine Form (Platon: Idee) am Bildschirm auszugeben. Es ist also an diesem Programm nichts Besonderes, außer, daß es Das Gerüst für alle momentan verfügbaren Anwendungsgerüste ist (ein Meta-Gerüst also?). Beachte, daß drei der Methoden in den Zeilen 9 bis 11 als virtual deklariert werden.

Das Interessante passiert, wenn wir in Zeile 27 die Klasse in unsere neue Klasse mit dem Namen CMeineForm importieren und neue Methoden für zwei der Basisklassenmethoden schreiben. Wir haben so viel Funktionalität aus der Basisklasse übernommen, wie uns angenehm war und neue Methoden geschrieben, wo das in der Basisklasse vorhandene nicht den gewünschten Zweck erfüllt. Wenn wir in Zeile 42 schließlich ein Objekt der neuen Klasse verwenden, mischen sich also Teile der Basisklasse mit neu geschriebenen Methoden.

In einem so einfachen Beispiel ist das nicht sonderlich attraktiv, wenn wir aber bedenken, wie diese Technik in einem wirklichen Anwendungsgerüst verwendet wird, erscheint es sehr nützlich. Die Autorin des Anwendungsgerüstes schreibt ein komplettes Programm, das alle Notwendigkeiten und das Management der Fenster übernimmt und teilt dieses Programm auf virtuelle Funktionen auf, so wie wir es hier getan haben. Wir suchen uns dann wieder die Teile aus diesem Kuchen, die wir brauchen können und schreiben die Teile neu, die wir ändern wollen. Ein großes Stück Programmierarbeit ist schon für uns erledigt worden.

Das Anwendungsgerüst kann noch viele weitere schon programmierte Funktionen enthalten, wie zum Beispiel solche zur Textverarbeitung oder zum Darstellen von Dialogen. Du wirst es sehr interessant und nützlich finden, Anwendungsgerüste nach allen ihren Funktionen zu durchforsten.

(weiter...)