I am making a graphical application for a class. The problem is simple in that i need to create an array that stores a bunch of circles, but only if they don't intersect with a previous circle. This part is easy; however, I wanted to expand the functionality to allow for more shapes(like a square to be drawn). What in your opinions should i design it as. Either a interface or an abstract class - both seem to work and yet don't. Thanks for any help in this matter.