Java Implementation of geometric shapes scenario using Object Oriented Programming Concepts OOP

In this assignment, you are asked to implement a simple project about geometric shapes such as a circle, rectangle, and square. All shapes must implement the following interface. While doing this project student should design classes actively with OOP concept. So the student must consider relations between classes such as, "is a" and "has a" relations and don't repeat methods that handle the same tasks. Because all shapes have common and different properties, students should consider abstract class, interface and overloading methods etc.

public interface IShape {
// area of a shape
public double area();
// distance between (0,0) and the point used to draw a shape
public double distanceToCoordinateCenter();
//rectangle is a full shape if: distanceToCoordinateCenter() > w+h
//circle is a full shape if: distanceToCoordinateCenter() > r
//square is a full shape if: distanceToCoordinateCenter() > w
// w is width, r is radius, h is height
public boolean isFullShape();
// returns "Circle", "Rectangle" or "Square"
public String thisIsa(IShape shape);
// Retruns data such as: width, radius and size(if it is a squar) etc.
public String propertiesOfShape( );
// Retruns shape ID.
public String shapeId();
}

Running

When the program is executed, there is a menu appeared with option (menu must be displayed with the JOpionPane class). The options are:

• Create Random Shapes: creates random number of shapes include such as rectangle,circle and square. In the second step in this option, users have to input a number for total number shapes. Then algorithm decides speci c number of rectangles,squares and circles randomly.
• Circles: creates only circles
• Rectangles: creates rectangles only
• Squares: creates squares only
• Print All Shapes: Displays all shapes to the console. Please us "System.out.format()" method to get formatted output (see below).
• Print Circles: Displays only circles.
• Print Rectangles: Displays only Rectangles.
• Print Squares: Displays only Squares
• Exit: Exit from the program

When shapes a displayed, total number of listed shapes and the total area also have to be displayed. See below as an example (Out put of the "Print All Shapes" option):

CONTACT DETAILS

For any other questions or other tasks please feel free to contact me
via email: mhassnainjamil@gmail.com
via WhatsApp: +92-324-7042178
via skype: hassnainjamil1