Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1) Define an EquilateralTriangle class that extends Triangle. The class contains: 1. One double data field named side to denote the side of the triangle.

1) Define an EquilateralTriangle class that extends Triangle. The class contains:

1. One double data field named side to denote the side of the triangle. As we know, an equilateral triangle is a special type of triangle where the sides are of the same length.

2. A constructor that creates an EquilateralTriangle with the specified side. Pass the value of the side to Triangles constructor: Triangle(double side1, double side2, double side3). In other words, you have to call super and pass side for all three arguments: side1, side2, and side3.

Complete the above tasks given the code below:

public abstract class GeometricObject {

private String color = "white";

private boolean filled;

private java.util.Date dateCreated;

/** Construct a default geometric object */

protected GeometricObject() {

dateCreated = new java.util.Date();

}

/** Construct a geometric object with color and filled

value */

protected GeometricObject(String color, boolean filled) {

dateCreated = new java.util.Date();

this.color = color;

this.filled = filled;

}

/** Return color */

public String getColor() {

return color;

}

/** Set a new color */

public void setColor(String color) {

this.color = color;

}

/** Return filled. Since filled is boolean,

* the get method is named isFilled */

public boolean isFilled() {

return filled;

}

/** Set a new filled */

public void setFilled(boolean filled) {

this.filled = filled;

}

/** Get dateCreated */

public java.util.Date getDateCreated() {

return dateCreated;

}

@Override

public String toString() {

return "created on " + dateCreated + " color: " +

color +

" and filled: " + filled;

}

/** Abstract method getArea */

public abstract double getArea();

/** Abstract method getPerimeter */

public abstract double getPerimeter();

}

class Triangle extends GeometricObject {

private double side1 = 1.0, side2 = 1.0, side3 = 1.0;

/** Constructor */

public Triangle() {

}

/** Constructor */

public Triangle(double side1, double side2, double

side3) {

this.side1 = side1;

this.side2 = side2;

this.side3 = side3;

}

/** Override method findArea in GeometricObject */

public double getArea() {

double s = (side1 + side2 + side3) / 2;

return Math.sqrt(s * (s - side1) * (s - side2) * (s -

side3));

}

/** Override method findPerimeter in GeometricObject */

public double getPerimeter() {

return side1 + side2 + side3;

}

/** Override the toString method */

public String toString() {

// Implement it to return the three sides

return "Triangle: side1 = " + side1 + " side2 = " +

side2 +

" side3 = " + side3;

}

}

class Test {

public static void main(String[] args) {

GeometricObject gObjectArray [] = new GeometricObject [4];

//Complete your code here

}

private static void printAreaAndPerimeter(GeometricObject

gObject) {

//Complete your code here

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions