BG12/1: Softwareentwicklung
(Einstieg in die Objektorientierte Programmierung)
Programmsysteme kann man auf zweierlei Weise strukturieren:
Das gesamte Programm wird als ein großer Algorithmus aufgefasst wird, der mit Hilfe von schrittweiser Verfeinerung der Algorithmen bis auf elementare Anweisungen zerlegt wird.

Daten und Algorithmen werden getrennt behandelt. Das ist eine Methode, die bei größeren Programmsystemen mit erheblichen Problemen behaftet ist.
Die Datenstrukturen stehen im
Mittelpunkt der Betrachtung und sie haben eigene Algorithmen zur
Verfügung, die
sie zur Erledigung ihrer Aufgaben und Änderung ihres Zustands brauchen. Diese
Sichtweise ist Grundlage der objektorientierten Programmierung (OOP).

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