is-Logo Objektorientierte Programmierung
Einführung

S. Spolwig

[Home | OOP]

Grundlagen

Programmsysteme kann man auf zweierlei Weise strukturieren:

  1. durch eine funktionale Abstraktion,

    d. h. in dem das gesamte Programm als ein großer Algorithmus aufgefasst wird, der mit Hilfe von schrittweiser Verfeinerung der Algorithmen bis auf elementare Anweisungen zerlegt wird. Prozeduren werden in Unterprozeduren mit Unterprozeduren mit Unterprozeduren (usw.) zerlegt.



    Dabei müssen dann die Daten immer wieder durchgereicht werden. Daten und Algorithmen werden getrennt behandelt. Das ist eine Methode, die bei größeren Programmsystemen mit erheblichen Problemen behaftet ist.

  2. durch Datenabstraktion,

    d. h. 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.

 

prinzip.gif (6537 Byte)

Qualitätsanforderungen an Softwaresysteme und ihre Realisation durch OOP.

Die grundlegenden Prinzipien von OOP sind Abstraktion, Kapselung, Modularisierung und Hierarchie. Nicht Prozeduren und Funktionen wie bei der ablauforientierten strukturierten Programmierung bilden das Gerüst des Systems, sondern Objekte und Objekttypen (Klassen), die Eigenschaften und eigene Operationen (Methoden) besitzen. Ein Programmsystem kann damit aus Objekten zusammengebaut (s. Beispiel) werden, die miteinander in Verbindung stehen und sich gegenseitig Aufträge (Botschaften) zusenden. Jedes Objekt erledigt damit einen und nur den Teil der Aufgaben, für den es verantwortlich ist. Das Zusammenwirken aller beteiligten Objekte löst die Gesamtaufgabe.

Damit hat die Informatik einen Weg gefunden, reale Objekte der Welt in entsprechenden Datenobjekten mit geeigneten Programmiersprachen auf dem Rechner abzubilden.

Dieser Programmierstil bietet softwaretechnisch gegenüber anderen älteren Verfahren große Vorteile. Damit können aber auch Softwareprodukte entwickelt werden, die dem Benutzer eine Hilfe bieten, wenn er z.B. auf seinem Bildschirm die Gegenstände wieder findet, mit denen er üblicherweise sonst an seinem Schreibtisch hantiert.

--------------------
Hinweis:
Implementationsbeispiele auf den nachfolgenden Dokumenten sind in Objekt-Pascal notiert. In anderen OO-Sprachen sind dann die Notationen analog.



 

©    05. Oktober 2008    Siegfried Spolwig

  page_top.gif (150 Byte)