|
Dieses ist das gleiche Beispiel wie vorher, nur
wird hier mit Typparametern aus Java 1.5 gearbeitet.
|
| |
|
Eine Schnittstellendefinition für eine totale Ordnung mit
Vergleichsfunktionen für
==,
!=,
>=,
<=,
>,
<.
|
| |
|
Eine Klasse für natürliche Zahlen ab 0,
die diese Schnittstelle Ordering implementiert.
Alle Funktionen in der Schnittstelle müssen in der Klasse
implementiert werden.
|
| |
|
Eine abstrakte Klasse für eine totale Ordnung.
Zwei Operationen,
== und >=,
sind nicht implementiert,
die vier anderen werden auf diese zwei zurückgeführt.
Die Schnittstellendefinition wird auch für diese abstrakte
Klasse benutzt.
|
| |
|
Eine Klasse für natürliche Zahlen ab 1,
die die abstrakte Klasse AbstractOrdering beerbt.
Nur die beiden Operationen für
== und >=
müssen in der Klasse
implementiert werden.
|
| |
|
Eine Klasse für Listen.
Auf diesen wird als totale Ordnung
die lexikographische Ordnung definiert.
Dadurch, dass diese Klasse die Klasse Vector
im Paket java.util
beerbt, kann nicht die abstrakte Klasse beerbt werden,
sondern es wird die Schnittstelle Ordering vollständig neu
implementiert. Dies kann zu Codeverdopplung führen.
|
| |
|