Generics - Implementierung

oSnake

Mitglied
Hallo Leute,

ich sitze grade an ein paar Übungsaufgaben und weiss ehrlich gesagt einfach nicht was der Prof. von mir wissen will.

Hier ist das Übungsblatt : http://docdro.id/SaCo3GD

Aufgabe 1 habe ich noch hinbekommen

Code:
public class Paar<T> {
    T E;
    T Z;

    Paar(T E, T Z) {
        this.E = E;
        this.Z = Z;
    }  
  
    public T erstes(){      
        return E;
    }
  
    public T zweites(){      
        return Z;
    }
  
    public String toString(){      
        String s = (E + " " + Z);      
        return s;
    }
}

Jedoch weiss ich einfach nicht was er bei Aufgabe 2 von mir will.

Wäre super wenn Ihr mir vielleicht ein paar Denkanstösse geben könntet.

Vielen Dank im Vorraus.
 
Zuletzt bearbeitet von einem Moderator:

flopalko

Bekanntes Mitglied
Hallo,

du hast schon einen Fehler in Aufgabe 1. Die Klasse Paar soll auch für 2 unterschiedliche Typen funktionieren. Du wirst daher 2 verschiedene generische Elemente benötigen.
Siehe Aufgabe 1: Paar<E,Z> und nicht Paar<T>

Aufgabe 2: du sollst eine Klasse PaarFeld<E,Z> erzeugen. Als Attribute soll sie Feld<E> und Feld<Z> besitzen. Der Rest sollte dann klar sein oder?
 

Jardcore

Top Contributor
Ich finde es komisch das viele ihre Generic Variablen nicht ordentlich benennen. Auch E und Z sind Variablen und sollte eindeutige Namen bekommen.
Java:
public class Paar<T_ERSTES, T_ZWEITES> {

    private T_ERSTES erstes;
    private T_ZWEITES zweites;

    public Paar(T_ERSTES erstes, T_ZWEITES zweites) {
        this.erstes = erstes;
        this.zweites = zweites;
    }
 
    public T_ERSTES erstes(){ 
        return erstes;
    }
 
    public T_ZWEITES zweites(){
        return zweites;
    }
 
    @Override
    public String toString(){
        return String.format("(%s,%s)", erstes, zweites);
    }
}
 

Schesam

Bekanntes Mitglied
T = Type
E = Element
K = Key
V = value
N = Number

Das ist ne Convention, damit man im Code Generics von normalen klassen unterscheiden kann, von daher wenn man sich an die Konvention hält sind die ordentlich benannt
 

Jardcore

Top Contributor
T = Type
E = Element
K = Key
V = value
N = Number
Das ist ja auch richtig, der Buchstabe wird ja weiterhin verwendet nur erhält er zusätzliche Informationen.
In diesem Fall sagt ZWEITES oder ERSTES nicht soviel aus. Aber wie würde man nun Generics deklarieren die zwei Types haben? T1 und T2 ? (in der Annahme das S,U,V auch schon weg sind)
Hier würde wieder der normale Ratschlag gelten; benenne Variablen aussagekräftig.

Edit:
Google verwendet hier z.B.: die Deklaration ClassName + Variable Letter
FooBarE
FooBarK
FooBarV
FooBarN
usw.
 
Zuletzt bearbeitet:

oSnake

Mitglied
Code:
public class PaarFeld <FeldEins , FeldZwei> {
   FeldEins feld1;
   FeldZwei feld2;

   PaarFeld(FeldEins feld1 , FeldZwei feld2) {
     this.feld1 = feld1;
     this.feld2 = feld2;
   }
}

Wie ich verstanden habe müssen jetzt die Felder auf die Paare referenzieren ?
Also bei der Aufgabe 2.
 
Zuletzt bearbeitet von einem Moderator:

Schesam

Bekanntes Mitglied
Das ist ja auch richtig, der Buchstabe wird ja weiterhin verwendet nur erhält er zusätzliche Informationen.
In diesem Fall sagt ZWEITES oder ERSTES nicht soviel aus. Aber wie würde man nun Generics deklarieren die zwei Types haben? T1 und T2 ? (in der Annahme das S,U,V auch schon weg sind)
Hier würde wieder der normale Ratschlag gelten; benenne Variablen aussagekräftig.

Edit:
Google verwendet hier z.B.: die Deklaration ClassName + Variable Letter
FooBarE
FooBarK
FooBarV
FooBarN
usw.
Java:
/**
 * Represents a function that accepts two arguments and produces a result.
 * This is the two-arity specialization of {@link Function}.
 *
 * <p>This is a <a href="package-summary.html">functional interface</a>
 * whose functional method is {@link #apply(Object, Object)}.
 *
 * @param <T> the type of the first argument to the function
 * @param <U> the type of the second argument to the function
 * @param <R> the type of the result of the function
 *
 * @see Function
 * @since 1.8
 */
@FunctionalInterface
public interface BiFunction<T, U, R> {
Als Beispiel aus Java8. Und es gibt keine Klasse die T, S, U, V und mehr braucht..

@TE: Ja, damit referenzieren die Attribute deiner Klasse auf das gleiche Objekt, das übergeben wurde. Jetzt musst du nurnoch den unteren Teil der Aufgabe einfügen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Generics machen mich verrückt Java Basics - Anfänger-Themen 8
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
MarvinsDepression Datentypen Generics: Erste Berührungen Java Basics - Anfänger-Themen 6
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
Cassy3 Generics - CompareTo Java Basics - Anfänger-Themen 21
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
districon Generics implementieren Java Basics - Anfänger-Themen 2
CptK Überprüfen ob übergebenes Objekt zu Generics passt Java Basics - Anfänger-Themen 2
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
B Hilfe bei Generics Java Basics - Anfänger-Themen 11
G Generics Compilerfehler Java Basics - Anfänger-Themen 6
G Generics Methoden Java Basics - Anfänger-Themen 7
G Generics Java Basics - Anfänger-Themen 3
L Generics Tripel Java Basics - Anfänger-Themen 26
W Fragen zu Generics Java Basics - Anfänger-Themen 14
S Hilfe. Generics und BiFunctions Java Basics - Anfänger-Themen 10
X Wie Generics richtig benutzen ? Java Basics - Anfänger-Themen 5
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
I Java Generics factory method Java Basics - Anfänger-Themen 2
M Verständnisfrage zu Generics Java Basics - Anfänger-Themen 7
I Generics und Comparable Java Basics - Anfänger-Themen 14
G Generics mit ? und Diamantoperator Java Basics - Anfänger-Themen 4
G Generics: Wildcard ? Java Basics - Anfänger-Themen 12
D Generics methode Java Basics - Anfänger-Themen 2
I Frage zu Generics und Wildcards Java Basics - Anfänger-Themen 2
N Generics und Casting eines Objekts Java Basics - Anfänger-Themen 1
A Generics Java Basics - Anfänger-Themen 6
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
W Generics - Typ zurückbekommen Java Basics - Anfänger-Themen 4
Dimax Erste Schritte Generics von Profis leicht erklärt Java Basics - Anfänger-Themen 7
C Warum funktioniert 'instanceof' bei generics nicht? Java Basics - Anfänger-Themen 4
J Collections Generics: Typ wird nicht erkannt Java Basics - Anfänger-Themen 7
D Generics ArrayList: Bug im Quellcode Java Basics - Anfänger-Themen 14
C Generics Java Basics - Anfänger-Themen 8
M Generics getter und setter Methoden Java Basics - Anfänger-Themen 4
T Generics in Java... Java Basics - Anfänger-Themen 9
J Generics Java Basics - Anfänger-Themen 3
J Generics Datentypen vergleichen Java Basics - Anfänger-Themen 16
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
Shizmo Frage zu Generics Java Basics - Anfänger-Themen 3
F Multiple Generics Java Basics - Anfänger-Themen 10
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
H Typsicherheit/Generics Java Basics - Anfänger-Themen 1
U Java generics funktioniert nicht Java Basics - Anfänger-Themen 0
Tarrew Generics: Erste gemeinse Oberklasse als Rückgabewert Java Basics - Anfänger-Themen 1
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
S Generics und Comparable Interface Java Basics - Anfänger-Themen 5
A Generics Java Basics - Anfänger-Themen 4
M Frage zu Generics in Klassen, Abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
R Compiler-Fehler Generics Problem Java Basics - Anfänger-Themen 2
K Interface Generics, Interfaces und Listen - ich bin verwirrt. Java Basics - Anfänger-Themen 7
K Generics bei Klassen- und Interfacedeklarationen Java Basics - Anfänger-Themen 3
D toArray und Generics Java Basics - Anfänger-Themen 2
D Zwei Generics beim Überladen von Methoden Java Basics - Anfänger-Themen 3
C Erste Schritte Filter für Generics oder ähnliches Java Basics - Anfänger-Themen 2
M Frage zu Generics-Deklaration Java Basics - Anfänger-Themen 5
S Frage zu Collection-Generics in Subklassen Java Basics - Anfänger-Themen 6
J Java Generics - Frage zu Types Java Basics - Anfänger-Themen 2
M <T> Generics Java Basics - Anfänger-Themen 7
B Interface Generics: prüfen ob Interface deklariert wird Java Basics - Anfänger-Themen 18
T Polymorphie Generics-Problem Java Basics - Anfänger-Themen 2
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
J Array Generics Java Basics - Anfänger-Themen 3
J Generics casten Java Basics - Anfänger-Themen 14
J Generics wildcard Java Basics - Anfänger-Themen 6
E Listen und Generics Java Basics - Anfänger-Themen 9
X Generics Java Basics - Anfänger-Themen 6
M Datei einlesen mit generics? Java Basics - Anfänger-Themen 9
D Warum sind Generics mit Vorsicht zu genießen? Java Basics - Anfänger-Themen 6
M OOP Mit Generics auf Methoden zugreifen? Java Basics - Anfänger-Themen 10
S Generics Java Basics - Anfänger-Themen 4
G Generics kein Zugriff auf getter eines Objekts Java Basics - Anfänger-Themen 4
L Datentypen Problem mit Generics und null Java Basics - Anfänger-Themen 6
E Klassen java.util.ArrayList<E> als Generics Java Basics - Anfänger-Themen 16
W Interface Problem mit Generics Java Basics - Anfänger-Themen 2
M OOP Generics und Wildcards Java Basics - Anfänger-Themen 3
D Generics - Warnmeldungen Java Basics - Anfänger-Themen 2
M Polymorphie generics einsteigerprobleme Java Basics - Anfänger-Themen 3
D Vererbung Generics und Vererbung Java Basics - Anfänger-Themen 8
C Generics Array Java Basics - Anfänger-Themen 43
D Fehler mit generics Java Basics - Anfänger-Themen 10
S Generics - CaseInsensitiveMap selber schreiben? Java Basics - Anfänger-Themen 5
K Datentypen Generics Java Basics - Anfänger-Themen 3
P Comparable und Generics Java Basics - Anfänger-Themen 6
I Generics (Subtypen) Java Basics - Anfänger-Themen 17
N Typeinschränkung bei Generics Java Basics - Anfänger-Themen 13
C Generics und Cast Java Basics - Anfänger-Themen 5
H Generics werden in -source 1.2 nicht unterstützt Java Basics - Anfänger-Themen 16
M Datentypen Generics: Exacten Typ ermitteln Java Basics - Anfänger-Themen 6
N Generics und Interfaces Java Basics - Anfänger-Themen 5
S Generics und "generische Feldzuweisungen" Java Basics - Anfänger-Themen 5
lumo Java Generics Java Basics - Anfänger-Themen 19
M verlinkte Liste mit generics Java Basics - Anfänger-Themen 7
capgeti Datentypen Static methoden aus Superklasse mit Generics definieren? Java Basics - Anfänger-Themen 9
S Generics und Typerkennung Java Basics - Anfänger-Themen 7
A Cast ohne Warnung bei Generics Java Basics - Anfänger-Themen 2
B Java Listen und Generics Java Basics - Anfänger-Themen 35
O Abstract Method & Generics Java Basics - Anfänger-Themen 10
K Aufgabe Generics Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben