私はこのクラスにCardというクラスがあります。このクラスにはImageがあり、このクラスとそのクラスも継承しているいくつかのクラスがあります。親クラスの変数型を変更しました
私はImageクラスを親クラスのCardクラスではなくImageクラスに拡張する新しいクラスを作成することにしました。しかし、このため、Image変数で渡されている他のすべてのクラスが混乱しています。
古いImageクラスのすべてのインスタンスを新しいCardImageクラスに変更する必要がありますか、それとも別の方法がありますか?
例:
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(){
}
}
与えられたコードの 'A'と' B'のコンストラクタに 'CardImage'インスタンスを渡すことができます。正確に何が「混乱」しているのですか? – schwobaseggl
どのように他のすべてのクラスを台無しにしていますか?すべてのCardImageオブジェクトがImageオブジェクトであるため、今ではそれが機能するはずです –
CardImageクラスのイメージ変数をCardImageクラスに変更しようとすると、互換性のない型が返されました – bob565