/* * ================================================================== * Circle(): Implementation of the Circle class where data and circle * properties can only be accessed through an interface. * * Note. It is common programming practice to begin variable names * with an underscore (e.g., _xxxx) when variables are either private * or protected. * * Written by: Mark Austin April, 2009 * ================================================================== */ import java.lang.Math.*; public class Circle { protected double _dX, _dY, _dRadius; // Constructor public Circle () {} public Circle( double dX, double dY, double dRadius ) { _dX = dX; _dY = dY; _dRadius = dRadius; } // Compute the circle area .... private double Area() { return Math.PI*_dRadius*_dRadius; } // Create public interface for variables and area computation.... public void setX (double dX) { _dX = dX; } public double getX () { return _dX; } public void setY (double dY) { _dY = dY; } public double getY () { return _dY; } public void setRadius (double dRadius ) { _dRadius = dRadius; } public double getRadius () { return _dRadius; } public double getArea() { return Area(); } // Copy circle parameters to a string format ... public String toString() { return "(x,y) = (" + _dX + "," + _dY + "): Radius = " + _dRadius; } // Exercise methods in class Circle ... public static void main( String [] args ) { System.out.println("Exercise methods in class Circle"); System.out.println("================================"); Circle cA = new Circle(); cA.setX(1.0); cA.setY(2.0); cA.setRadius(3.0); Circle cB = new Circle( 1.0, 2.0, 2.0 ); System.out.printf("Circle cA : %s\n", cA.toString() ); System.out.printf("Circle cA : Area = %5.2f\n", cA.getArea() ); System.out.printf("Circle cB : %s\n", cB ); System.out.printf("Circle cB : Area = %5.2f\n", cB.getArea() ); } }