//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 */ // Cylinder.java: The new cylinder class that extends the circle // class public class Cylinder extends Circle { private double length; /**Default constructor*/ public Cylinder() { this(1.0, 1.0); } /**Construct a cylinder with specified radius, and length*/ public Cylinder(double rad, double len) { this(rad, "white", false, len); } /**Construct a cylinder with specified radius, filled, color, and length */ public Cylinder(double rad, String c, boolean fill, double len) { super(rad, c, fill); length = len; } /**Return length*/ public double getLength() { return length; } /**Set a new length*/ public void setLength(double len) { length = len; } /**Return the surface area of this cylinder*/ public double findArea() { return 2*super.findArea()+(2*getRadius()*Math.PI)*length; } /**Return the volume of this cylinder*/ public double findVolume() { return super.findArea()*length; } /**Override the equals method defined in the Object class*/ public boolean equals(Cylinder cylinder) { return (this.getRadius() == cylinder.getRadius()) && (this.length == cylinder.getLength()); } /**Override the toString method defined in the Object class*/ public String toString() { return "[Cylinder] radius = " + getRadius() + " and length " + length; } }