Not because it is very sophisticated, but because it is simple, this program will serve as an example of some of the things we’ve covered in this chapter, and will also, in its subclasses, provide springboards for other discussions. This class describes a series of old-fashioned (i.e., common in the 1970s and 1980s) pen plotters. A pen plotter, in case you’ve never seen one, is a device that moves a pen around a piece of paper and draws things. It can lift the pen off the paper or lower it, and it can draw lines, letters, and so on. Before the rise of laser printers and ink-jet printers, pen plotters were the dominant means of preparing charts of all sorts, as well as presentation slides (this was, ah, well before the rise of programs like Harvard Presents and Microsoft PowerPoint). Today few companies still manufacture pen plotters, but I use them here because they are simple enough to be well understood from this brief description.
I’ll present a high-level class that abstracts the key
characteristics of a series of such plotters made by different
vendors. It would be used, for example, in an analytical or
data-exploration program to draw colorful charts showing the
relationships found in data. But I don’t want my main program
to worry about the gory details of any particular brand of plotter,
so I’ll abstract into a
class, whose source is as follows:
/** * Plotter abstract class. Must be subclassed * for X, DOS, Penman, HP plotter, etc. * * Coordinate ...