Objekte und Klassen (2)
-
Eine Klasse kann von einer "Oberklasse"
Attribute und Methoden erben.
Beispiel:
Die Klasse "Drucker" erbt von der Klasse "Gerät":
- Attribut "Farbe"
- Methode "anmalen"
- Attribut "Ort"
- Methode "aus dem Fenster werfen"
Eine Konsequenz der Vererbung ist, daß ein Objekt nun in
verschiedenen Rollen auftreten kann (Polymorphismus),
nämlich als Instanz seiner eigenen Klasse oder als Instanz einer
Oberklasse; das kann je nach Art der
Verwendung zu Überraschungen führen.
Wir haben das Problem hier nicht
und ignorieren es daher bis auf weiteres;
Vererbung spielt in dieser Vorlesung keine Rolle.
-
Auch eine Klasse kann Attribute haben
(etwa die Anzahl der gerade existierenden Instanzen)
und auch Methoden
(etwa zum Einrichten oder Löschen von Instanzen).
In manchen "objektorientierten Sprachen"
faßt man Klassen daher auch als Objekte auf,
die Instanzen einer Klasse "class" sind.
Wir verwenden dies hier nicht.
Bemerkung: Oft wird Objektorientierung so erklärt,
daß Objekte aktive Einheiten sind, welche miteinander
über Nachrichten kommunizieren
und daraufhin selbst ihre Methoden ausführen.
Wir schätzen das nicht;
das ist zwar eine von mehreren möglichen Realisierungen,
aber meistens geht es anders viel einfacher;
es wird daher intern auch meist anders gemacht.
Nur wenn die Objekte räumlich verteilt angeordnet sind,
kommt man um die Nachrichten nicht herum.
zurück |
Inhalt | Index |
vor |
Vorlesung
Klaus Lagally, 22. Februar 2000, 19:36