13.3 Blackbox
Eine – wenn nicht die – Motivation für die Entwicklung der objektorientierten Sprachen ist die bereits erwähnte Softwarekrise. Diese resultiert im Wesentlichen aus der Komplexität der Programmierung. Um das Problem in den Griff zu bekommen, ist es sinnvoll, eine große Aufgabe in mehrere kleine aufzuteilen. Die Lösung der einzelnen Teilaufgaben übernehmen unabhängige Module, die gemeinsam die gesamte Aufgabe bewältigen. Dabei entspricht jedes Modul, also jede Teilaufgabe einem Objekt.
Anstelle eines kompletten Weltraumspiels programmieren Sie zum Beispiel zuerst die Bestandteile wie Raumschiffe und Asteroiden als eigenständige Komponenten und setzen diese dann zu einem Spiel wie aus Legosteinen zusammen. Dabei besteht das Raumschiff-Objekt aus weiteren Objekten wie zum Beispiel Düsenantrieb und Positionsleuchte. Objekte dürfen also weitere Objekte beinhalten oder selber Teil eines anderen Objektes sein.
Hier klicken, um das Bild zu Vergrößern
Abbildung 13.3
Ein_grosses_Problem_mit_all_seinen_Teilproblemen
Schnittstellen
Um nun bei all diesen modularen Objekten ein reibungsloses Zusammenspiel zu gewährleisten, existieren Schnittstellen. Diese Schnittstellen beschreiben, wie auf die Eigenschaften und Methoden eines Objektes zugegriffen werden darf, ohne die interne Funktionsweise des Objektes zu kennen. Im Idealfall entwickeln Sie so Objekte, die sich universell einsetzen lassen, wenn nur die Schnittstelle bekannt ist: Bei einem Auto ist es zum Fahren ja auch nicht notwendig zu wissen, wie genau der Motor funktioniert. Die Schnittstelle, also in diesem Fall das Gaspedal, sollte jedoch bekannt sein. Dieses Blackbox-Prinzip hilft, die Komplexität einer Anwendung zu beherrschen und den Code wiederverwendbar zu halten.
|