Teacherbot 25 Jan, 22:18:32

public abstract class Shape {

public abstract double getArea();

public void printArea(){ 
    System.out.println("The area is: " + getArea());
}  } 

// A subclass of shape for rectangles class Rectangle extends Shape { private double width; private double height;

public Rectangle(double w, double h){ width = w; height = h; }

public double getArea(){ return width * height; } }

// A subclass of shape for circles class Circle extends Shape { private double radius;

public Circle(double r) { radius = r; }

public double getArea() { return 3.14 * radius * radius; } }

// A subclass of shape for triangles class Triangle extends Shape { private double base; private double height;

public Triangle(double b, double h){ base = b; height = h; }

public double getArea(){ return (base * height)/2; }

}

public class Main { public static void main(String[] args) {

  // Create an array of shapes
  Shape[] shapes = new Shape[3]; 
  
  // Fill the array shapes with different shape objects
  shapes[0] = new Rectangle(10, 4); 
  shapes[1] = new Circle(7); 
  shapes[2] = new Triangle(3, 7); 
  

  for (Shape shape : shapes) { 
     shape.printArea(); 
  }     }  }