(Solved) : Create Uml Diagram 3 Sections Class 1 Class Name 1 Attributes 1 Methods Include Constructo Q30985260 . . .
Create a UML diagram with 3 sections for each class. 1 for classname. 1 for attributes. 1 for methods. Include allconstructors,methods,attributes for each class. Paramters can haveany legal identifiers. Use bi directional,uni-directionalassociation or aggregation or composition when needed forconnecting the classes.
public class Point {
public double X, Y;
public Point()
{
this(0, 0);
}
public Point(double newX, double newY)
{
X = newX;
Y = newY;
}
public static double distance(Point A, Point B) {
return Math.sqrt(Math.pow(A.X-B.X, 2) + Math.pow(A.Y-B.Y,2));
}
}
public interface Polygon {
public int getNumberOfSides();
public double getPerimeter();
public double getArea();
}
public abstract class Simple_polygon implements Polygon{
public Point vertices[];
public Simple_polygon(int n) {
if (n < 3) {
throw new IllegalArgumentException();
}
vertices = new Point[n];
}
public int getNumberOfSides() {
return vertices.length;
}
public boolean isEquilateral() {
double sideLength = -1;
for (int i = 1; i < vertices.length; i++) {
double side = vertices[i – 1].distance(vertices[i]);
if (sideLength == -1) {
sideLength = side;
} else if (side != sideLength) {
return false;
}
}
if (vertices[vertices.length – 1].distance(vertices[0]) !=sideLength) {
return false;
}
return true;
}
}
public class Triangle extends Simple_polygon {
public Point[] vertices;
public Triangle(Point a, Point b, Point c) {
super(3);
vertices[0] = a;
vertices[1] = b;
vertices[2] = c;
}
public double getPerimeter() {
double side1 = vertices[0].distance(vertices[1]);
double side2 = vertices[1].distance(vertices[2]);
double side3 = vertices[2].distance(vertices[1]);
return side1 + side2 + side3;
}
public double getArea() {
double x1 = vertices[0].x;
double y1 = vertices[0].y;
double x2 = vertices[1].x;
double y2 = vertices[1].y;
double x3 = vertices[2].x;
double y3 = vertices[2].y;
double area = Math.abs((x1 * (y2 – y3) + x2 * (y3 – y1) + x3
* (y1 – y2)) / 2);
return area;
}
}
public class Quadrilateral extends Simple_polygon {
public Point[] vertices;
public Quadrilateral(Point a, Point b, Point c, Point d){
super(4);
vertices[0] = a;
vertices[1] = b;
vertices[2] = c;
vertices[3] = d;
}
public double getPerimeter() {
double side1 = vertices[0].distance(vertices[1]);
double side2 = vertices[1].distance(vertices[2]);
double side3 = vertices[2].distance(vertices[3]);
double side4 = vertices[3].distance(vertices[1]);
return side1 + side2 + side3 + side4;
}
public double getArea() {
double a = vertices[0].x;
double a2 = vertices[0].y;
double b = vertices[1].x;
double b2 = vertices[1].y;
double c = vertices[2].x;
double c2 = vertices[2].y;
double d = vertices[3].x;
double d2 = vertices[3].y;
double area = Math.abs(((a * (b2 – d2) + b * (d2 – a2) + d
* (a2 – b2)) / 2)) +
Math.abs(((b * (c2 – d2)) + (c * (d2 – b2)) +
(d * (b2 – c2))) / 2);
return area;
}
}
Expert Answer
Answer to Create Uml Diagram 3 Sections Class 1 Class Name 1 Attributes 1 Methods Include Constructo Q30985260 . . .
OR