Two double data fields named x and y that specify the center of the circle with get and set methods.
The double data field radius with get and set methods.
A no-arg constructor that creates a default circle with (0, 0) for (x, y) and 1 for the radius.
A constructor that creates a circle with the specified x, y, and radius.
A method getArea() that returns the area of the circle.
A method getPerimeter() that returns the perimeter of the circle.
A method contains(double x, double y) that returns true if the specified point (x, y) is inside this circle. See Figure 1(a).
A method contains(MyCircle2D r) that returns true if the specified circle is inside this circle. See Figure 1(b).
A method overlaps(MyCircle2D r) that returns true if the specified circle overlaps with this circle. See Figure 1(c).
Figure 1 (a) A point is inside the circle. (b) A circle is inside another circle. (c) A circle overlaps another circle.
Implement the methods getArea(), getPerimeter(), contains(double x, double y), contains(MyCircle2D r), and overlaps(MyCircle2D r).
Draw the class UML.
(a)
(b)
(c)
Figure 1 (a) A point is inside the circle. (b) A circle is inside another circle. (c) A circle overlaps another circle.
Draw the UML diagram for the class.
Implement the methods getArea(), getPerimeter(), contains(double x, double y), contains(MyCircle2D r), and overlaps(MyCircle2D r).
Draw the class UML.
1. Implement the class and methods.
2. Write a test program that creates two rectangles with the following attributes: C1: x=2, y=2, and radius=2. C2: x=3, y=2.5, and radius=1. Perform the following tasks:
a. Display the area of C1.
b. Display the perimeter of C2.
c. Test if C1 contains C2 and if C2 overlaps with C1.
d. Which Circle, C1 or C2, contains the point (3,4)?