Signatur
|
einer Operation besteht aus
|
|
Name + Anzahl und Typen der Parameter + Typ des Resultats
|
| |
Schnittstelle
|
eine Menge von Signaturen für die Operationen
|
| |
Typ
|
ein Name für eine Schnittstelle
|
| |
interface
|
Ein interface in Java definiert genau eine Schnittstelle
|
| |
|
ein Objekt kann viele Schnittstellen besitzen
|
| |
|
ein Objekt kann viele Typen besitzen
|
|
sehr unterschiedliche Objekte können gleiche Schnittstellen besitzen
|
| |
Subtyp
|
ein Typ ist ein Subtyp eines anderen Typs, des Supertyps,
wenn seine Schnittstelle die des Supertyps enthält
|
| |
|
Die Supertyp-Subtyp-Beziehung wird durch Vererbung spezifiziert
|
| |
in Java
|
extends und implements werden hierfür als
Schlüsselwörter genutzt
|
| |
|
Interfaces, abstrakte Klassen, konkrete Klassen
definieren eine Schnittstelle
|
| |
|
Interfaces, abstrakte Klassen, konkrete Klassen
definieren einen Typ
|
| |
|
ein Objekt hat im allgemeinen mehrere Schnittstellen
|
|
einer Referenzvariablen ist genau ein Typ, eine
Schnittstelle zugeordnet
|
|
class X {...}
interface I {...}
interface J extends I {...}
interface K extends I {...}
class Y extends X implements J, K {...}
|
Polymorphie
|
Vielgestaltigkeit
einer Signatur sind in unterschiedlichen Klassen unterschiedliche
Methoden zugeordnet
|
| |
dynamisches Binden (nächstes Kapitel)
|
berechnet die zu einer Signatur gehörige Methode zur Laufzeit
aus der Art des Objekts
|
| |