Hey,
ich möchte gerne eine generische Klasse "Weinregal" implementieren.
Aber von vorne. Ich habe eine generische Klasse Flaschen
In meiner Main fülle ich diese Flaschen mit Inhalt
Das klappt alles soweit! Ich möchte nun eine weitere generische Klasse FlaschenRegal implementieren . Diesem Regal möchte ich dann gerne meine flasche0 ,flasche1 usw hinzufügen. Das ganz habe ich mir so vorgestellt dass mein Regal durch eine ArrayList oder Array repräsentiert wird.
Leider funktioniert das so gar nicht. Ich kann auch kein generisches Array vom Typ T generieren. Hat mir jemand einen Denkanstoß, ich bin komplett auf dem Holzweg.
Beste Grüße und ein schönes Wochenende
Mikesh
ich möchte gerne eine generische Klasse "Weinregal" implementieren.
Aber von vorne. Ich habe eine generische Klasse Flaschen
Java:
public class Flasche<T extends Fluessigkeit> {
private String etikett;
private T inhalt = null;
public void fuellen(T inhalt) {
this.inhalt = inhalt;
}
public void beschriften(String text) {
etikett = text;
}
public T gibInhalt() {
return inhalt;
}
public String gibEtikett() {
return etikett;
}
public T ausleeren() {
T resInhalt = inhalt;
inhalt = null;
return resInhalt;
}
public boolean istLeer() {
return inhalt == null;
}
public String toString() {
return "Flasche \"" + etikett + "\", " + inhalt;
}
}
In meiner Main fülle ich diese Flaschen mit Inhalt
Code:
Wein Chianti = new Wein("Chianti", 0.7);
Wein Babera = new Wein("Babera", 1.0);
Flasche<Wein> flasche0 = new Flasche<>();
Flasche<Wein> flasche1 = new Flasche<>();
Flasche<Wein> flasche2 = new Flasche<>();
Flasche<Wein> flasche3 = new Flasche<>();
flasche0.fuellen(Chianti);
flasche1.fuellen(Babera);
flasche2.fuellen(Chianti);
flasche3.fuellen(Babera);
Das klappt alles soweit! Ich möchte nun eine weitere generische Klasse FlaschenRegal implementieren . Diesem Regal möchte ich dann gerne meine flasche0 ,flasche1 usw hinzufügen. Das ganz habe ich mir so vorgestellt dass mein Regal durch eine ArrayList oder Array repräsentiert wird.
Java:
import java.util.ArrayList;
public class FlaschenRegal<T extends Fluessigkeit> {
private T[] regal;
private int kapazität;
public FlaschenRegal(int kapazität) {
this.kapazität = kapazität;
}
public void ablegen(T flasche, int pos){
regal[pos] = flasche;
}
}
Leider funktioniert das so gar nicht. Ich kann auch kein generisches Array vom Typ T generieren. Hat mir jemand einen Denkanstoß, ich bin komplett auf dem Holzweg.
Beste Grüße und ein schönes Wochenende
Mikesh