tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
588
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    heritchan heritchan ist offline Grünschnabel
    Registriert seit
    Mar 2007
    Beiträge
    4
    Guten Tag Zusammen

    Ich habe eine kleine Frage bezüglich Generische Objekte.

    Ich möchte eine Klasse Mitarbeiterliste erzeugen, welche von der Klasse ArrayList erbt.
    In dieser Klasse Mitarbeiterliste sollten nur Objekte vom Typ Mitarbeiter gespeichert werden dürfen.

    Meine Klassen Deklaration sieht nun wie folgt aus:
    public class Mitarbeiterliste<T extends Mitarbeiter> extends ArrayList<Mitarbeiter> {

    T ist hier bei ein Typ-Parameter.

    Irgendwie verstehe ich leider das Wort Typ-Parameter nicht genau.
    Denn anstelle von T kann ich hier irgend etwas hinschreiben ohne eine Fehlermeldung
    zu bekommen.

    Kann mir das jemand erklären für was dieser Typ-Parameter genau ist?

    Viele Dank
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    T ist die Benamung des Typs. Die Typen haben Namen da man auch mehrere Typen angeben kann. Bei einer HashMap gibt es ja z.B. einen Typ für den Schlüssel und einen für den Wert, also:
    Code java:
    1
    
    public class HashMap<K,V> {}

    Wenn du eine HashMap instanziierst so tut man dies z.B. so:
    Code java:
    1
    
    HashMap<String,Integer> map = new HashMap<String,Integer>();
    Dies bedeutet dass K in der HashMap für den Typ String steht und V für den Typ Integer.

    Würde innerhalb der HashMap also eine Methode:
    Code java:
    1
    2
    3
    4
    5
    
    public List<V> getReversedValueList(){
        List<V> reversedList = new ArrayList<V>(this.values());
        Collections.reverse(reversedList);
        return reversedList;
    }
    stehen, so steht V wiederum für den Typ der Werte der HashMap. In unserem Beispiel würden wir also eine Liste von Integer zurückbekommen (List<Integer>).

    In deinem Fall wäre es übrigens sinnvoll deinen Typ an die ArrayList weiterzugeben:
    Code java:
    1
    
    public class Mitarbeiterliste<MitarbeiterTyp extends Mitarbeiter> extends ArrayList<MitarbeiterTyp>
     

Ähnliche Themen

  1. Struktur als Parameter im ActiveX Objekt
    Von Test im Forum Borland CBuilder und VCL
    Antworten: 0
    Letzter Beitrag: 30.06.10, 08:57
  2. Antworten: 5
    Letzter Beitrag: 02.01.10, 15:15
  3. [VBA] Generisches Ändern eines Form-Titels
    Von Alien im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 07.11.08, 10:37
  4. Generisches Speichern
    Von Micha2008 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 29.03.08, 20:23
  5. Generisches EPS ?
    Von MorVis im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 26.09.04, 01:11