A Rectangle and a Square can be considered shapes. There are, of course, different kinds of shapes which are defined differently, but share with rectangles and squares that they have an area and circumference. Define an interface class Shape, of which Rectangle and Square are sub(sub)classes. Also define a class Circle that you derive from Shape.