package chapter8; /** * Title: Chapter 8, "Class Inheritance and Interfaces" * Description: Examples for Chapter 8 * Copyright: Copyright (c) 2000 * Company: Armstrong Atlantic State University * @author Y. Daniel Liang * @version 1.0 */ // Rectangle.java: The Rectangle class that extends GeometricObject public class Rectangle extends GeometricObject { private double width; private double height; /**Default constructor*/ public Rectangle() { this(1.0, 1.0); } /**Construct a rectangle with width and height*/ public Rectangle(double width, double height) { this(width, height, "white", false); } /**Construct a rectangle with specified width, height, filled, and color*/ public Rectangle(double width, double height, String color, boolean filled) { super(color, filled); this.width = width; this.height = height; } /**Return width*/ public double getWidth() { return width; } /**Set a new width*/ public void setWidth(double width) { this.width = width; } /**Return height*/ public double getHeight() { return height; } /**Set a new height*/ public void setHeight(double height) { this.height = height; } /**Implement the findArea method in GeometricObject*/ public double findArea() { return width*height; } /**Implement the findPerimeter method in GeometricObject*/ public double findPerimeter() { return 2*(width + height); } /**Override the equals method defined in the Object class*/ public boolean equals(Rectangle rectangle) { return (width == rectangle.getWidth()) && (height == rectangle.getHeight()); } /**Override the toString method defined in the Object class*/ public String toString() { return "[Rectangle] width = " + width + " and height = " + height; } }