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 12.) 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 colors, rather than simply using the default colors as the
method in DrawableRect
did.
Example 2-4. ColoredRect.java
package je3.classes; import java.awt.*; /** * This class subclasses DrawableRect and adds colors to the rectangle it draws **/ public class ColoredRect extends DrawableRect { // These are new fields defined by this class. // x1, y1, x2, and y2 are inherited from our super-superclass, Rect. protected Color border, fill; /** * This constructor uses super( ) to invoke the superclass constructor, and * also does some initialization of its own. **/ public ColoredRect(int x1, int y1, int x2, int y2, Color border, Color fill) { super(x1, y1, x2, y2); this.border = border; this.fill = fill; } /** * This method overrides the draw( ) method of our superclass ...
Get Java Examples in a Nutshell, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.