// to represent a geometric shape interface IShape{} // to represent a circle class Circle implements IShape{ int x; int y; int rad; Circle(int x, int y, int rad){ this.x = x; this.y = y; this.rad = rad; } } // to represent a rectangle class Rect implements IShape{ int x; int y; int w; int h; Rect(int x, int y, int w, int h){ this.x = x; this.y = y; this.w = w; this.h = h; } } // to represent a combined shape class Combo implements IShape{ IShape top; IShape bot; Combo(IShape top, IShape bot){ this.top = top; this.bot = bot; } }