package shapes.composite; import shapes.visitor.Visitor; public abstract class Shape { // Estimates the area. // Core function public abstract double getArea ( ); // Draws the shape // Core function public abstract void draw ( ); // Prints info about the shape // Core function public abstract void print ( ); //... public abstract void accept ( Visitor v ) ; }