abstract class Shape{ public abstract double getArea(); } class Circle extends Shape{ private double radius; public Circle(double radius){ this.radius = radius; } @Override public double getArea(){ return Math.PI*radius*radius; } } class Rectangle extends Shape{ private double length; private double height; public Rectangle(double length,double height){ this.length=length; this.height=height; } @Override public double getArea(){ return length*height; } } class Triangle extends Shape{ private double base; private double height; public Triangle(double base,double height){ this.base=base; this.height=height; } @Override public double getArea(){ return base*height/2; } } public class ShapeUtil{ public static void printArea(Shape shape){ System.out.printf("أو»‎تا%.2f%n",shape.getArea()); } public static void main(String[] args){ Shape circle = new Circle(5.0); Shape rectangle = new Rectangle(10.0,20.0); Shape triangle = new Triangle(3.0,4.0); printArea(circle); printArea(rectangle); printArea(triangle); } }