6 Glossar
[Seminarübersicht]...[Entwurfsmuster nach Gamma]...[7 Notation]
In diesem Glossar sind wichtige Begriffe des objektorientierten Softwareentwurfes
erklärt. Bei der Auswahl habe ich angenommen, daß der Leser
die grundlegenden Techniken und Begriffe der OOP kennt.
Abstrakte Klasse, abstrakte Methoden
Eine abstrakte Klasse dient hauptsächlich dazu, eine Schnittstelle
zu definieren. Ihre Methoden sind leer und werden erst in ihren Unterklassen
implementiert. Diese Unterklassen sind konkrete
Klassen und überschreiben die abstrakten Methoden durch die Implementierung
konkreter Methoden.
Es ist jedoch auch denkbar, daß eine abstrakte Klasse bereits Methoden
implementiert (Defaultimplementierung), die nur bei Bedarf überschrieben
werden.
Von einer abstrakten Klasse können keine Exemplare
erzeugt werden.
Aggregationsbeziehung
Eine aggregierte Klasse (Aggregat) enthält weitere Objekte, die
es meist selbständig erzeugt. Die Lebenszeit der Objekte, die Teile
des Aggregates sind, ist auf die Lebenszeit des Aggregates beschränkt.(vgl.
Referenz)
Black - Box - Wiederverwendung
Ein Wiederverwendungsstil, der auf Objektkomposition basiert. Zusammengesetzte
Objekte zeigen einander keine internen Details und gleichen somit "Black
Boxes", schwarzen Kästen.
Delegation
Entwurfsmuster (Definition gemäß Gamma)
Ein Entwurfsmuster benennt, motiviert und erläutert systematisch
einen allgemeinen Entwurf, der ein in objektorientierten Systemen immer
wiederkehrendes Entwurfsproblem löst. Es beschreibt das Muster, die
Lösung, wann die Lösung anwendbar ist sowie die Konsequenzen
der Anwendung. Es gibt weiterhin Implementierungstips und Beispiele. Die
Lösung ist eine allgemeine Anordnung von Objekten und Klassen, die
das Problem lösen. Die Lösung wird maßgeschneidert und
implementiert, um das Problem in einem konkreten Kontext zu lösen.
Exemplar
Ein Exemplar einer Klasse ist ein Objekt, also das, was häufig
als Instanz bezeichnet wird.
Framework
Ein Framework ist eine spezielle Klassenbibliothek.
Es liefert dem Benutzer darüberhinaus ein Gerüst für eine bestimmte
Art von Anwendung (oft grafische Anwendungen). Der Entwickler paßt das Framework
für seine Zwecke an, indem er Unterklassen bildet und mit ihren Objekten arbeitet.
Klassenbibliothek
In einer Klassenbibliothek sind Klassen zusammengefaßt, die gleichartige
Funktionalität bieten.
Sie erweitern die Funktionalität des Sprachsystems.
Diese können vom Kunden benutzt,
also im eigenen Entwurf integriert werden.
Klassenvererbung
Die Klassen- und Schnittstellenvererbung ist in
Abschnitt 2 behandelt.
Konkrete Klasse
Eine konkrete Klasse ist eine Klasse, von der Exemplare
erzeugt werden können. Ihre sämtlichen Methoden sind entweder
in einer ihrer (eventuell abstrakten) Vorfahrenklassen
oder in ihr selbst implementiert.
Objektgranularität
Objektkomposition
Polymorphie
Die Möglichkeit, Objekte passender Schnittstellen
zur Laufzeit füreinander einzusetzen.
Referenz (Bekanntschaft, Objektreferenz)
Eine Referenz auf ein Objekt ist physikalisch gesehen nichts anderes
als die Kenntnis der Speicheradresse eines Objektes, also ein Zeiger. (vgl. Aggregation)
Schnittstelle
Die Schnittstelle eines Objektes ist die Gesamtheit der Signaturen
seiner Operationen.
Schnittstellenvererbung
Die Klassen- und Schnittstellenvererbung ist in
Abschnitt 2 behandelt.
Signatur (einer Operation)
Die Signatur enthält die Merkmale, die eine Operation exakt beschreiben
(Name, ggf. Parameter, ggf. Rückgabewert).
Typ (eines Objektes)
Der Typ eines Objektes ist nicht mit seiner Klasse zu verwechseln. (Die
Klasse enthält die Implementierung !). Ein Typ ist ein Name für
eine bestimmte Schnittstelle. Ein Objekt "ist von einem bestimmten
Typ", falls es die geforderten Signaturen
trägt. Ein Kindobjekt ist also grundsätzlich vom gleichen Typ
wie seine Elternklasse und kann statt Ihrer verwendet werden.
(Polymorphie)
[Seminarübersicht]...[Entwurfsmuster nach Gamma]...[7 Notation]...[Seitenanfang]