/* * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) * Date: 2022-04-14 * Description: Circle class inherit from Shape class */ public class Circle extends Shape { private double radius; /** * Constructor. * * @param x the x coordinate of the center of the circle * @param y the y coordinate of the center of the circle * @param radius the radius of the circle */ public Circle(double x, double y, double radius) { super(x, y); this.radius = radius; } /** * Calculates the area of the circle. * * @return the area of the circle */ @Override public double area() { return Math.PI * radius * radius; } /** * Resizing a circle cahnges its radius to be newRadius. * * @param newRadius */ @Override public void resize(double newRadius) { radius = newRadius; } /** * Test. */ public static void testCircle() { Circle c1 = new Circle(1.0, 2.0, 3.0); System.out.println(c1.area() == Math.PI * 9.0); System.out.println(c1.getX() == 1.0); System.out.println(c1.getY() == 2.0); c1.resize(4.0); System.out.println(c1.area() == Math.PI * 16.0); System.out.println(c1.getX() == 1.0); System.out.println(c1.getY() == 2.0); c1.move(5.0, 6.0); System.out.println(c1.area() == Math.PI * 16.0); System.out.println(c1.getX() == 6.0); System.out.println(c1.getY() == 8.0); } }