Computer Science 225
Advanced Programming
Spring 2017, Siena College
PointOverload BlueJ Project
Click here to download a BlueJ project for PointOverload.
PointOverload Source Code
The Java source code for PointOverload is below. Click on a file name to download it.
/* * Example PointOverload: a class demonstrating ad hoc polymorphism * by overloading constructors and the distance method * * Jim Teresco, Siena College, Computer Science 225, Spring 2017 * */ public class Point { /** the coordinates */ private double x, y; /** * constructor for the default point (0,0) */ public Point() { // x and y are already 0.0 } /** * constructor for a point at given x, y coordinates * * @param x the x coordinate for the point * @param y the y coordinate for the point */ public Point(double x, double y) { this.x = x; this.y = y; } /** * constructor for a point to be initialized using another point * * @param p the point whose coordinates are to be used for this one's */ public Point(Point p) { x = p.x; y = p.y; } /** * compute the distance from this point to another * * @param p the other point * @return the distance from this point to p */ public double distance(Point p) { double dx = x - p.x; double dy = y - p.y; return Math.sqrt(dx * dx + dy * dy); } /** * compute the distance from this point to a given coordinate pair * * @param x the x-coordinate of the other point * @param y the y-coordinate of the other point * @return the distance from this point to (x,y) */ public double distance(double x, double y) { double dx = x - this.x; double dy = y - this.y; return Math.sqrt(dx * dx + dy * dy); } /** * compute the distance from this point to the origin * * @return the distance from this point to the origin */ public double distance() { return Math.sqrt(x * x + y * y); } /** * @return string representation of this Point */ public String toString() { return "(" + x + "," + y + ")"; } public static void main(String[] args) { Point a = new Point(); Point b = new Point(3, 4); Point c = new Point(9, 12); Point d = new Point(b); System.out.println("a: " + a); System.out.println("b: " + b); System.out.println("c: " + c); System.out.println("d: " + d); System.out.println("Distance from b to c: " + b.distance(c)); System.out.println("Distance from d to origin: " + d.distance()); System.out.println("Distance from c to (1, 1): " + c.distance(1,1)); } }