Java Reference
In-Depth Information
Example 2•2: RectTest.java (continued)
") is inside the union");
// These lines implicitly call the Rect.toString() method
System.out.println(r1 + " union " + r2 + " = " + u);
System.out.println(r1 + " intersect " + r2 + " = " + i);
}
}
A Rect Subclass
Example 2-3 is a simple subclass of the Rect class of Example 2-1. This Draw-
ableRect class inherits the fields and methods of Rect and adds its own method,
draw() , that draws a rectangle using a specified java.awt.Graphics object. (We'll
see more of the Graphics object in Chapter 11, Graphics .) DrawableRect also
defines a constructor that doesn'thing more than pass its arguments on to the cor-
responding Rect constructor. Note the use of the extends keyword to indicate that
Rect is the superclass of DrawableRect .
Example 2•3: DrawableRect.java
package com.davidflanagan.examples.classes;
/**
* This is a subclass of Rect that allows itself to be drawn on a screen.
* It inherits all the fields and methods of Rect
* It relies on the java.awt.Graphics object to perform the drawing.
**/
public class DrawableRect extends Rect {
/** The DrawableRect constructor just invokes the Rect() constructor */
public DrawableRect(int x1, int y1, int x2, int y2) { super(x1,y1,x2,y2); }
/** This is the new method defined by DrawableRect */
public void draw(java.awt.Graphics g) {
g.drawRect(x1, y1, (x2 - x1), (y2-y1));
}
}
Another Subclass
Example 2-4 shows another subclass. ColoredRect is a subclass of DrawableRect
(see Example 2-3), which makes it a sub-subclass of Rect (see Example 2-1). This
class inherits the fields and methods of DrawableRect and of Rect (and of Object ,
which is the implicit superclass of Rect ). ColoredRect adds two new fields that
specify the border color and fill color of the rectangle when it is drawn. (These
fields are of type java.awt.Color , which we'll learn about in Chapter 11.) The
class also defines a new constructor that allows these fields to be initialized.
Finally, ColoredRect overrides the draw() method of the DrawableRect class. The
draw() method defined by ColoredRect draws a rectangle using the specified col-
ors, rather than simply using the default colors as the method in DrawableRect did.
Search WWH ::




Custom Search