Implement a shape hierarchy. you must have your superclass shape and 2 subclasses two-dimensional shape and three-dimensional shape. Under two-dimensional shape, you have other subclasses, circle, square, and triangle. Under the three-dimensional shape you have the sphere, cube, and tetrahedron. Each two-dimensional shape should contain a method getArea to calculate the area of the two-dimensional shape. Each three-dimensional shape should have a method getArea and getVolume to calculate the surface area and volume, respectively, of the three-dimensional shape. Create a program that uses an array of shape references to objects of each concrete class in the hierarchy. The program should print a text description of the object to which each array element refers. Also, in the loop that processes all the shapes in the array, determine whether each shape is a two-dimensional shape or a three-dimensional shape. If a shape is a two-dimensional shape, display it's area. If a shape is a three-dimensional shape, display its area and volume.
Can you please help me with this problem? I'm finding it hard to figure out what to do. Please help I'm still just a beginner. Thank you!
Thank you! but how about the 2d-shapes circle, square and triangle also the 3-shapes sphere, cube and tetrahedron? Do i have to put them in classes??? where should i put them? I'm still confused. Help me please... Thank you!!!
You should search the web for some more information on polymorphism to help you. The other 2d and 3d shapes are subclasses of the Shape superclass, but you should be able to figure out how to implement them with my above code. The code above can be stated as:
Shape is a superclass
Shape2d is a subclass of Shape
Shape3d is a subclass of Shape
Whenever you see the word subclass it means that you are going to have to extend the functionality of a superclass. Hence the word "extends."
Your goal is to define a datatype Shape that can answer the question "Get Area?". You need to define the method getArea in each of the subclasses and declare the abstract method in the base class Shape. By declaring the abstract method in Shape, you're saying to the rest of the program that "a Shape is something that can answer the question 'Get Area'." Anything that is a Shape must be able to answer that question. Therefore, you need to define the method in your subclasses.
Also, you need to define the shape-specific information that each type of shape would like to know about itself.