1: //ShapeBase.java
3: /**
4: * Abstract base class for drawing simple shapes on the screen
5: * using keyboard characters.
6: */
7: public abstract class ShapeBase implements ShapeInterface
8: {
9: private int offset;
10:
11: public ShapeBase( )
12: {
13: offset = 0;
14: }
16: public ShapeBase(int theOffset)
17: {
18: offset = theOffset;
19: }
21: /** Draws the shape at the current line. */
22: public abstract void drawHere( );
23:
24: /** Draws the shape at lineNumber lines down from the current line. */
25: public void drawAt(int lineNumber)
26: {
27: for (int count = 0; count < lineNumber; count++)
28: System.out.println( );
29: drawHere( );
30: }
31:
32: public void setOffset(int newOffset)
33: {
34: offset = newOffset;
35: }
37: public int getOffset( )
38: {
39: return offset;
40: }
41: }