Nächste Seite: Eigenschaften objektorientierter Programmiersprachen
Aufwärts: Allgemeines
Vorherige Seite: Allgemeines
  Inhalt
  Index
Die objektorientierte Programmierung entstand im wesentlichen aus den
Erfahrungen, die man mit herkömmlicher Programmierung gesammelt
hatte. Eins dieser Probleme sieht man in den Abbildungen
1.1 und 1.2. Die einzelnen
Unterprogramme sind zwar gut gekapselt und damit in überschaubare
Programmteile zerlegt, auf die Daten hat aber jeder unbeschränkten
Zugriff. Durch die Einführung von Modulen wird das Problem zwar
gemindert, ist aber immer noch vorhanden. Außerdem tendieren die
Module dazu, mit der Zeit immer größer zu werden. Das Aufteilen
eines Moduls in kleinere ist mit großen Aufwand verbunden. Insgesamt
führt die Struktur eines klassischen Programms dazu, daß eine
Änderung der Datenstruktur sehr aufwendig ist. Einer der Gründe
dafür ist, daß die Pfeile, die in den Grafiken den Datenzugriff
repräsentieren, nicht leicht rückverfolgbar sind. Eine
Umorganisation der Datenrepräsentation erfordert daher im Extremfall
eine Inspektion des gesamten Programmcodes.
In der objektorientierten Programmierung hat man daher versucht, die
Daten und den Programmcode enger zu verbinden. Beide werden in
sogenannten Klassen vereint. Die resultierende Programmtopologie sieht
man in Abbildung 1.3. Im Idealfall erfolgt der
Zugriff auf die Daten nur über spezifizierte Schnittstellen. Eine
Änderung hat damit nur lokale Auswirkungen, die leicht aufzufinden
sind. Um diese Kapselung zu ermöglichen bzw. zu erzwingen, besitzt
z.B. C++ Sprachelemente, die den Zugriff auf interne Daten regeln und
auf Wunsch des Programmierers verhindern.
Abbildung 1.1:
Topologie einer klassischen Programmiersprache der ersten Generation. Alle Unterprogramme haben Zugriff auf die globalen Daten.
 |
Abbildung 1.2:
Topologie einer klassischen Programmiersprache mit
Modulen. Das Problem des globalen Zugriffs auf die Daten ist zwar
gemindert, aber noch immer vorhanden.
 |
Abbildung:
Topologie einer objektorientierten Programmiersprache.
Die Daten sind mit den Programmcode vereint. Der Zugriff erfolgt
im Idealfall nur über festgelegte Schnittstellen.
 |
Nächste Seite: Eigenschaften objektorientierter Programmiersprachen
Aufwärts: Allgemeines
Vorherige Seite: Allgemeines
  Inhalt
  Index
Stefan Schwarzer
2000-11-02