Menu

(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