/**
 * COMPOSITE OBJECTS AND SHAPES
 * 
 * PRAXIS_INFO
 * 
 * Our objects, so far, have been standalone objects, accessed by static methods
 * of main. 
 * 
 * In the rest of the course, we will address connected objects. 
 * 
 * There are many ways and reasons for connecting objects - the one on which we
 * focus here is to create composite shapes - objects with sub shapes that form
 * a bigger shape.
 * 
 * We begin however, with an atomic shape that is a composite object and then
 * migrate to composite shapes.
 * 
 * Creating composite objects requires no new knowledge of Java, but does require
 * new ways of programming and debugging as null pointer exceptions are more
 * likely now.
 * 
 * VISITED CLASSES
 * 
 * {ALineWithObjectProperty}
 * {ACartesianPoint}
 * {MyInteger}
 * {ACartesianPlane}
 * {AnInefficientCartesianPlane}
 * {APlottedShuttle}
 *
 */
package lectures.composite.objects_shapes;
import util.annotations.WebDocuments;