Der folgende Code ist der Lösungscode, der eine abstrakte Klasse mit einer absract-Unterklasse (die wiederum zwei Unterklassen hat) und einer anderen Unterklasse deklariert. Da die Methode setScore() auf drei verschiedene Arten implementiert werden muss und der Objekttyp für jeden Fall unterschiedlich ist, nehme ich an, dass wir den Parameter P verwenden, um ihn zu definieren.Problem mit avstract java class paramaeter
public abstract class Vak<P> implements EvaluatieSpecificatie,
Comparable<Vak> {
private VakInfo vak;
public abstract void setScore(P parameter);
public Vak(VakInfo v) {
vak = v;
}
public String getVakNaam() {
return vak.getNaam();
}
public int getStudiepunten() {
return vak.getStudiepunten();
}
public String getVakcode() {
return vak.getVakcode();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(vak);
if (isGeslaagd()) {
sb.append(" C");
} else {
sb.append(" niet geslaagd - moet hernomen worden");
}
return sb.toString();
}
@Override
public int compareTo(Vak v) {
// sorteren van vakken op basis van studiepunten
// this < v --> neg waarde teruggeven
// this > v --> pos waarde teruggeven
// this = v --> 0 teruggeven
return this.getStudiepunten() - v.getStudiepunten();
}
}
Nun, was ich nicht verstehe, ist, wie genau diese Klasse Classname „<‚Parameter‘>“ Ding funktioniert, wenn es zu benutzen, oder was genau seine genannt. Ich habe versucht, nachzusehen, aber ich kann keine Informationen darüber finden. Könnte mir jemand erklären, was genau das ist und wie/wann es benutzt werden soll? (Oder verlinke mich in die richtige Richtung), vielleicht indem ich ein einfaches Beispiel gebe (da ich nicht sicher bin, ob nach Code gefragt wird).
Es tut mir schrecklich leid, wenn diese Frage nicht angemessen ist, aber ich würde wirklich gerne verstehen, also hier geht.
Sie könnten Java Generics aussehen wollen, aber ich bin sicher, dass jemand – HRgiger
richtige Antwort geben Was ist 'diese Klasse Class thing'? –
Was möchten Sie genau wissen? Welche Klasse P ist? Dann können Sie 'instanceof' Ausdruck wie' if (view instanceof EditText) ' –