⇦ Zurück zum Heft 📄 Als PDF herunterladen
OOPventure Informatik · Objektorientierte Programmierung

Fachkonzepte - Vom Algorithmus zum Objekt

Grundsätzlich lassen sich Programmsysteme auf zweierlei Weise strukturieren.

Funktionale Abstraktion

Dies ist die bisher von uns verwendete Art zu programmieren. Das gesamte Programm wird als ein großer Algorithmus aufgefasst, der mithilfe von schrittweiser Verfeinerung bis auf elementare Anweisungen zerlegt wird. Prozeduren werden in Unterprozeduren zerlegt.

Daten gehen in eine Prozedur hinein und kommen verändert wieder heraus.

Dabei müssen die Daten immer wieder durchgereicht werden. Daten und Algorithmen werden bei der strukturierten Programmierung getrennt behandelt.

Aufgabe 1 – Rückblick

Erinnern Sie sich an den Einstieg (Heft 0): Dort ist eine Figur einen Random Walk gelaufen, und im Duell sollten zwei Figuren gleichzeitig laufen. Das war grundsätzlich machbar, führte jedoch zu einem Problem, sobald mehrere Figuren diesen Algorithmus durchführen sollten.

Beschreiben Sie diese Problematik kurz.

(noch nicht bearbeitet)

Prinzip der Datenabstraktion

Bei diesem Programmierstil stehen die Datenstrukturen im Mittelpunkt der Betrachtung. Sie haben eigene Algorithmen zur Verfügung, die sie zur Erledigung ihrer Aufgaben und zur Änderung ihres Zustands brauchen. Diese Sichtweise ist die Grundlage der objektorientierten Programmierung (kurz OOP).

Eine Botschaft erreicht ein Objekt mit seinen Eigenschaften und Methoden.

Der entscheidende Unterschied liegt darin, dass bei OOP die Objekte „ein Gedächtnis“ haben, also immer den Zustand ihrer Daten kennen.

Objekte können mit dem Programm und untereinander kommunizieren und sich „Nachrichten“ schicken (Message-Passing-Prinzip). Diese können dann Einfluss auf Eigenschaften und Methoden haben:

Objekt A schickt Objekt B eine Nachricht; beide haben Methoden und Daten.

Im Framework haben Sie dieses Prinzip bereits in Aktion erlebt. So kann beispielsweise der Held oder der Knappe Tore öffnen und schließen – allerdings nur dann, wenn er direkt vor dem Tor steht. Die beiden Objekte tauschen also ihre Koordinaten aus und können dann Änderungen durchführen, in diesem Fall am Zustand des Tores.

Aufgabe 2

a)

Nennen Sie weitere Beispiele im Framework, bei denen Objekte miteinander kommunizieren müssen. Welche Informationen müssen hierbei ausgetauscht werden?

(noch nicht bearbeitet)

b)

Über welches „Bindeglied“ erfolgt die Kommunikation?

(noch nicht bearbeitet)

Merke:

Bei der funktionalen Abstraktion werden Daten und   getrennt behandelt. Die Daten müssen immer wieder   werden.

Bei der objektorientierten Programmierung haben Objekte ein  : Sie kennen immer den   ihrer Daten. Untereinander schicken sie sich  .