// Fig. 10.8: Circle.java // Circle class inherits from Point. public class Circle extends Point { private double radius; // Circle's radius // no-argument constructor; radius defaults to 0.0 public Circle() { // implicit call to Point constructor occurs here } // constructor public Circle( int x, int y, double radiusValue ) { super( x, y ); // call Point constructor setRadius( radiusValue ); } // set radius public void setRadius( double radiusValue ) { radius = ( radiusValue < 0.0 ? 0.0 : radiusValue ); } // return radius public double getRadius() { return radius; } // calculate and return diameter public double getDiameter() { return 2 * getRadius(); } // calculate and return circumference public double getCircumference() { return Math.PI * getDiameter(); } // override abstract method getArea to return Circle area public double getArea() { return Math.PI * getRadius() * getRadius(); } // override abstract method getName to return "Circle" public String getName() { return "Circle"; } // override toString to return String representation of Circle public String toString() { return "Center = " + super.toString() + "; Radius = " + getRadius(); } } // end class Circle /************************************************************************** * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and * * Prentice Hall. All Rights Reserved. * * * * DISCLAIMER: The authors and publisher of this book have used their * * best efforts in preparing the book. These efforts include the * * development, research, and testing of the theories and programs * * to determine their effectiveness. The authors and publisher make * * no warranty of any kind, expressed or implied, with regard to these * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or * * consequential damages in connection with, or arising out of, the * * furnishing, performance, or use of these programs. * *************************************************************************/