Also habe ich diese Klasse namens Card, in dieser Klasse habe ich ein Bild, ich habe dann mehrere andere Klassen, die diese Klasse und diese Klassen erben.Veränderte Variablentyp in Elternklasse
Ich habe beschlossen, eine neue Klasse zu erstellen, die Image stattdessen jetzt erweitert und diese anstelle der Image-Klasse in meiner übergeordneten Card-Klasse verwendet. Aus diesem Grund hat es jedoch alle anderen Klassen, die eine Image-Variable übergeben, durcheinander gebracht.
Muss ich alle Instanzen der alten Image-Klasse in die neue CardImage-Klasse ändern oder gibt es einen anderen Weg?
Beispiel:
public class A {
private Image image;
public A(Image image){
this.image = image;
}
}
public class B extends A{
public B(Image image){
super(image);
}
}
public class CardImage extends Image{
public CardImage(){
}
}
Sie sollten 'CardImage'-Instanzen an die Konstruktoren von' A' und 'B' in Ihrem angegebenen Code übergeben können. Was genau ist "durcheinander"? – schwobaseggl
Wie versaut es alle anderen Klassen? Mit dem, was Sie jetzt haben, sollte es immer noch funktionieren, weil alle CardImage-Objekte Image-Objekte sind –
Wenn ich versucht, meine Image-Variable in der Card-Klasse zu einer CardImage-Klasse zu ändern, klagt es über inkompatible Typen – bob565