****This is to be written in Java****
1. In the Shape class, eliminate the concrete methods, area() and perimeter(); create an instance variable of type String called name; and make a constructor that requires a String, shapeName, as the name of the new Shape object. Keep the method getLocation(), and keep the Shape class abstract.
2. Create an interface, Shape2D, which will require the methods, area() and perimeter(), which were elimated from Shape.
3. Create a new class, Point, which inherits from Shape and contains two private instance variables of type int, x and y, which store the coordinates for the Point. Point should have both a default constructor and a constructor that takes two int values for the coordinates x and y. For the default constructor, set both x and y to zero.
4. Modify the class, Circle, to inherit from Shape as well as use the interface, Shape2D. Circle should have only two private instance variables: a double named, radius, and a Point object reference named, center. Circle should have two constructors, a default constructor and a constructor that takes a double as a new radius value and two ints as the x and y coordinates of the center. Circle does not store the x and y values as ints, but instead creates a Point object with these coordinates. The location of a Circle is the location of its center, Point.
5. Use the TestCircle.java program to test your classes until they are error-free .
****This is to be written in Java****© BrainMass Inc. brainmass.com October 9, 2019, 8:42 pm ad1c9bdddf
Using the attached files modify the code to use inheritance, an interface, and aggregation by completing the following steps.