advanced java For this assignment you will write a program to represent geometric shapes and some operations that can be performed on them. The idea here is that shapes in higher dimensions inherit data from lower dimensional shapes. For example a cube is a three dimensional square. A sphere is a three dimensional circle and a glome is a four dimensional circle. A cylinder is another kind of three dimensional circle. The circle, sphere, cylinder, and glome all share the attribute radius. The square and cube share the attribute side length. There are various ways to use inheritance to relate these shapes but please follow the inheritance described in the table below. All shapes inherit getName() from the superclass Shape. Specification: The program should have the following classes: Shape, Circle, Square, Cube, Sphere, Cylinder, and Glome and two interfaces Area and Volume (Area.java and Volume.java are given below). The volume of a glome is 0.5(π2)r4 where r is the radius. Your classes may only have the class variable specified in the table below and the methods defined in the two interfaces Area and Volume. You will implement the methods specified in the Area and Volume interfaces and have them return the appropriate value for each shape. Class Shape will have a single public method called getName that returns a string. Class Class Variable Constructor Extends Implements Shape String name Shape()     Circle double radius Circle( double r, String n ) Shape Area Square double side Square( double s, String n ) Shape Area Cylinder double height Cylinder(double h, double r, String n ) Circle Volume Sphere None Sphere( double r, String n ) Circle Volume Cube None Cube( double s, String n ) Square Volume Glome None Glome( double r, String n ) Sphere Volume Your program will use the following: (please separate both area and volume. Put first part and second part Area.java /* * The classes Square and Circle must implement this interface. */ public interface Area {    /** * @return the area of a shape. The type is double so there won't be type casting issues with the Java Math library. */ double getArea(); Volume.java /* * The classes Cube, Sphere, Cylinder, and Glome must implement this interface. */ public interface Volume {    /** * @return the volume of a shape. The type is double so there won't be type casting issues with the Java Math library. */ double getVolume();

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

advanced java

For this assignment you will write a program to represent geometric shapes and some operations that can be performed on them. The idea here is that shapes in higher dimensions inherit data from lower dimensional shapes. For example a cube is a three dimensional square. A sphere is a three dimensional circle and a glome is a four dimensional circle. A cylinder is another kind of three dimensional circle. The circle, sphere, cylinder, and glome all share the attribute radius. The square and cube share the attribute side length. There are various ways to use inheritance to relate these shapes but please follow the inheritance described in the table below.

All shapes inherit getName() from the superclass Shape.

Specification:

The program should have the following classes: ShapeCircleSquareCubeSphereCylinder, and Glome and two interfaces Area and Volume (Area.java and Volume.java are given below).

The volume of a glome is 0.5(π2)r4 where r is the radius.

Your classes may only have the class variable specified in the table below and the methods defined in the two interfaces Area and Volume. You will implement the methods specified in the Area and Volume interfaces and have them return the appropriate value for each shape. Class Shape will have a single public method called getName that returns a string.

Class

Class Variable

Constructor

Extends

Implements

Shape

String name

Shape()

   

Circle

double radius

Circle( double r, String n )

Shape

Area

Square

double side

Square( double s, String n )

Shape

Area

Cylinder

double height

Cylinder(double h, double r, String n )

Circle

Volume

Sphere

None

Sphere( double r, String n )

Circle

Volume

Cube

None

Cube( double s, String n )

Square

Volume

Glome

None

Glome( double r, String n )

Sphere

Volume

Your program will use the following: (please separate both area and volume. Put first part and second part

  • Area.java

/*
* The classes Square and Circle must implement this interface.
*/
public interface Area
{
   /**
* @return the area of a shape. The type is double so there won't be type casting issues with the Java Math library.
*/
double getArea();

  • Volume.java

/*
* The classes Cube, Sphere, Cylinder, and Glome must implement this interface.
*/

public interface Volume
{
   /**
* @return the volume of a shape. The type is double so there won't be type casting issues with the Java Math library.
*/
double getVolume();
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education