Programmiersprache Pascal
Einige Betrachtungen zum objektorientierten Arbeiten
[BCSZ 90]
Objekte
- haben eine Lebensdauer
- sind identifizierbar
- sind aktiv
- ändern sich
- senden und empfangen Nachrichten
Metapher des Systemablaufs
- Ein Sytem besteht aus Objekten
- Jede Systemaktivität ist die Aktivität von Objekten des
Systems
Kriterien der Objektorientierung: [Meyer 1987]
-
Objekte als Moduln realisiert - Systeme werden auf der Basis ihrer
Datenstrukturen modularisiert.
-
Datenabstraktion - Objekte als Implementation abstrakter Datenstrukturen
-
Automatische Speicherverwaltung - dynamisches Erzeugen und Vernichten
von Objekten
-
Sprachkonstrukt "Klasse" vereinigt den Modul- und Typenaspekt
-
Vererbung - ein Klasse kann als Erweiterung oder Einschränkung einer
anderen Klasse definiert werden.
-
Polymorphismus - Programmeinheiten können auf Objekte von mehr als
einer Klasse zugreifen und Operationen können in verschiedenen
Klassen verschiedene Realisierungen haben.
-
Multible Vererbung - eine Klasse kann Erbe von mehreren Klassen sein.
[Stei 93]
objektbasiert = Attributkapselung
klassenbasiert = objektbasiert + Mengenabstraktion
objektorientiert = klassenbasiert + Vererbung
Booch
An object has state, behavior, and identity; the structure and behavior of
similar objects are defined in their common class; the terms instance and
object are interchangeable.
Smith and Tockey
an object represents an individual, identifiable item,
unit, or entity, either real or abstract, with a well-defined role in the
problem domain.
Rumbaugh
We define an object as a concept, abstraction or thing with crisp boundaries
and meaning for the problem at hand.
Shlaer
An object is an abstraction of a set of real-world things such that:
-
all of the real-world things in the set - the instances - have the same
characteristics
-
all instances are subject to and conform to the same rules
P. Böhme, 09.08.1996