Templates wie in C++
Markus Möller
- java
Hallo zusammen!
Ich habe sehr viele Klassen, die alle nach dem selben Muster aufgebaut sind. Ein Beispiel:
----
public class Autoverwaltung extends Verwaltung{
private Auto data;
public Auto getData() {
return data;
}
}
---
public class Personenverwaltung extends Verwaltung {
private Mensch data;
public Mensch getData() {
return data;
}
}
----
Alle haben eine private Variabel namens "data" und alle eine Methode "getData". Nun gibt es wie gesagt sehr viele solcher Dateien, in allen ist aber data eine Instanz verschiedener Klassen (Auto, Mensch,...). Ich würde gerne in der Oberklasse "Verwaltung" eine Methode getData() implementieren, so dass sie in den Unterklassen nicht jedesmal neu hinzugefügt werden muss. In C++ gibt es ja Templates. Kann man soetwas mit Java überhaupt realisieren ohne die Klasse "Object" mit anschliessenden Casting zu verwenden?
Hallo Markus
Jein. Es ist noch nicht Teil der Javaspezifikation aber es gibt einen Kompiler, der das unterstützt.
http://www.research.avayalabs.com/user/wadler//pizza/gj/
So weit ich weiß, ist vorgesehen, generische Klassen in Java 1.5 aufzunehmen.
Grüße
Daniel
hi!
Alle haben eine private Variabel namens "data" und alle eine
Methode "getData". Nun gibt es wie gesagt sehr viele solcher
Dateien, in allen ist aber data eine Instanz verschiedener Klassen
(Auto, Mensch,...). Ich würde gerne in der Oberklasse
"Verwaltung" eine Methode getData() implementieren, so dass sie in
den Unterklassen nicht jedesmal neu hinzugefügt werden muss. In
C++ gibt es ja Templates. Kann man soetwas mit Java überhaupt
realisieren ohne die Klasse "Object" mit anschliessenden Casting
zu verwenden?
Nein, wo denkst du hin. Weißt du nicht, dass Java eigentlich eine
grausam umständliche Sprache ohne geeignete Anwendungsbereiche ist?
:)
Zur Lektüre:
http://www.math.fu-berlin.de/~leitner/java/suck.html
bye, Frank!
ps: Dass Java irgendwann Templates und andere nützliche Dinge unter-
stützen wird, glaube ich erst, wenn ich's sehe... ;)