015 ポリモーフィズム(動的な配列) 013 解答例

class Shape {
    public void draw() {
        System.out.println("Drawing a shape");
    }
}

class Circle extends Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a circle");
    }
}

class Rectangle extends Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a rectangle");
    }
}

public class Main {
    public static void main(String[] args) {
        // 動的な配列の作成
        Shape[] shapes = new Shape[3];

        // Circleオブジェクトを配列に格納
        shapes[0] = new Circle();

        // Rectangleオブジェクトを配列に格納
        shapes[1] = new Rectangle();

        // Shapeオブジェクトを配列に格納
        shapes[2] = new Shape();

        // 配列からオブジェクトを取り出してdrawメソッドを呼び出す
        for (Shape shape : shapes) {
            shape.draw();
        }
    }
}

このプログラムでは、動的な配列を作成し、その中に「Circle」、 「Rectangle」、および「Shape」のオブジェクトを格納しています。 そして、forループを使用して配列からオブジェクトを取り出し、「draw」メソッドを呼び出しています。 ポリモーフィズムにより、各オブジェクトの実際のクラスに基づいて適切な「draw」メソッドが呼び出されます。

「015 ポリモーフィズム」問題集リスト