// faltam os construtores
    
    interface Shape {
        double area();
    }
    
    abstract class AnyShape implements Shape {
        protected int color;
    }
    
    class Line extends AnyShape {
        private double x0, y0;
        private double x1, y1;
        double area() {
            return 0;
        }
    }
    
    class Circle extends AnyShape {
        private double x, y;
        private double radius;
        double area() {
            return 3.14159 * radius * radius;
        }
    }
    
    class Rect extends AnyShape {
        private double x0, y0;
        private double x1, y1;
        double area() {
            return Math.abs((x0 - x1) * (y0 - y1));
        }
    }
    
    class Canvas {
        private java.util.Vector shapes;
        double area() {
            double sum = 0;
            for(Shape s : shapes)
                sum += s.area();
            return sum;
        }
    }