Some example ADT PRE and POST to consider:

move

public void move()
PRE: move button is unselected 
POST: move button is selected 
Draw
public void Draw()
PRE:
POST: Draws the shape on the Canvas 
CursorIsOverShape
public boolean CursorIsOverShape(java.awt.Point p)
PRE: If non-null Point is given, check to see if point is
within the bounds of the shape 
POST: Returns True or False accordingly
clear
public void clear()
PRE: A command was given to clear the canvas 
POST: The canvas is painted in the white color 

question: Did anything else happen? Was the data structure holding the list of shapes emptied? Then say this

Discuss again the idea of ADTs being the design