MyCube to represent a cube Solved

35.00 $

Category:

Description

5/5 - (1 vote)

java Design a class named MyCube to represent a cube. A cube is a three-dimensional solid object bounded by six square faces. Implement the MyCube class using composition. The MyCube class contains the following:

  • A private instance variable named base (of type MySquare2D) that specifies the base square of a cube with default top left corner at (0, 0) and 10 for side length.
  • A no-arg default constructor that creates a cube with default values.
  • An overloaded constructor that creates a cube with the specified side length.
  • An overloaded constructor that creates a cube with the specified top left corner coordinates (of type Point).
  • An overloaded constructor that creates a cube with the specified top left corner (of type Point) and side length.
  • An overloaded constructor that creates a cube with the specified x, y coordinates and side length.
  • An overloaded constructor that creates a cube with the specified base (of type MySquare2D).
  • The toString() method that returns a string describing the object as shown in the examples below. Note: the toString() of the MySquare2D class returns “MySquare2D:(x, y), side=d”.

Write the MyCube class in the answer box below assuming that the MySquare2D class is given.

Composition: A cube has 6 squares faces.

For example:

Test Result
MyCube c1 = new MyCube(5);
System.out.println(c1);
MyCube c2 = new MyCube(10,20,5);
System.out.println(c2);
MyCube c3 = new MyCube(new Point(10,20));
System.out.println(c3);
MyCube c4 = new MyCube(new Point(10,20), 20);
System.out.println(c4);
MyCube c5 = new MyCube();
System.out.println(c5);
MyCube: MySquare2D:(0, 0), side=5
MyCube: MySquare2D:(10, 20), side=5
MyCube: MySquare2D:(10, 20), side=10
MyCube: MySquare2D:(10, 20), side=20
MyCube: MySquare2D:(0, 0), side=10

add the following methods to your MyCube class to extend its functionality:

  • The accessor and mutator methods for the base.
  • The getVolume() method that returns the volume of a MyCube object.
  • The getSurfaceArea() method that returns the surface area of a MyCube object. The surface area of a Mycube object is: 6 * base area.
  • The getBase() method that returns the base of a MyCube object.

Write the entire MyCube class in the answer box below assuming that the MySquare class is given.

For example:

Test Result
MyCube c1 = new MyCube(15);
System.out.println(c1.getBase());
System.out.printf("volume=%d\n", c1.getVolume());
System.out.printf("surface area=%d\n", c1.getSurfaceArea());
MySquare2D:(0, 0), side=15
volume=3375
surface area=1350
MyCube c1 = new MyCube (10, 20, 30);
System.out.println(c1.getBase());
System.out.printf("volume=%d\n", c1.getVolume());
System.out.printf("surface area=%d\n", c1.getSurfaceArea());
MySquare2D:(10, 20), side=30
volume=27000
surface area=5400
MySquare2D s1 = new MySquare2D(12, 23, 8);
MyCube c1 = new MyCube(s1);
System.out.printf("volume=%d\n", c1.getVolume());
System.out.printf("surface area=%d\n", c1.getSurfaceArea());
MySquare2D base = c1.getBase();
System.out.println(base);
volume=512
surface area=384
MySquare2D:(12, 23), side=8
  • MyCube-ydh76r.zip