この「コンテナ問題」をJavaで解決しなければなりません。さまざまな数値で構成された配列があり、次のコードを機能させたいです。
package container;
class Figure{
public void draw() {}
public String getColor() { return null; }
}
class Square extends Figure{
@Override
public void draw(){
System.out.println("Square");
}
}
class Circle extends Figure{
@Override
public void draw(){
System.out.println("Circle");
}
public float getRadius(){
return 8;
}
}
public class Container {
public static void main(String[] args) {
Figure[] figures = new Figure[3];
figures[0]= new Circle();
figures[1]= new Circle();
figures[2]= new Square();
for(Figure figure:figures){
figure.getColor();
figure.draw();
((Circle) figure).getRadius();
}
}
}
Square
メソッドがないため、問題があることがわかりますgetRadius()
。次の制限があります。
- ジェネリックは使えない
- 使えない
instanceof
これは、優れたオブジェクト指向設計ソリューションである必要があります。