Explain the following Java Polymorphism code in details. class Shape { public double getArea() { return 0.0; } } class Circle extends Shape { private int x,y; private double radius; public Circle() { x = y = 0; radius = 0.0; } public Circle(int x, int y, double radius) { this.x=x; this.y=y; this.radius = radius; } public void drawShape() { System.out.println("Circle.drawShape()"); } public double getArea() { double area = Math.PI* radius * radius; System.out.println("Circle area="+area); return area; } } class Rectangle extends Shape { private int x,y,h,w; public Rectangle() { x = y = h = w = 0; } public Rectangle(int x, int y, int h, int w) { this.x=x; this.y=y; this.h=h; this.w=w; } public void drawShape() { System.out.println("Rectangle.drawShape()"); } public double getArea() { double area = w * h; System.out.println("Rectangle area="+area); return area; } } public class ShapeTest { public static void main(String[] args) { Shape s = new Shape(); Circle c = new Circle(0,0,10.0); Rectangle r = new Rectangle(0,0,5,4); System.out.println("Return value="+ s.getArea()); s = c; System.out.println("Area= "+ s.getArea()); //s.drawShape(); s = r; System.out.println("Area= "+ s.getArea()); //Rectangle r2 = s; //Rectangle r3 = (Rectangle) new Shape(); Rectangle r4 = (Rectangle) s; r4.getArea(); } }

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

Explain the following Java Polymorphism code in details.
class Shape
{
public double getArea()
{
return 0.0;
}
}
class Circle extends Shape
{
private int x,y;
private double radius;
public Circle()
{
x = y = 0;
radius = 0.0;
}
public Circle(int x, int y, double radius)
{
this.x=x;
this.y=y;
this.radius = radius;
}
public void drawShape()
{
System.out.println("Circle.drawShape()");
}
public double getArea()
{
double area = Math.PI* radius * radius;
System.out.println("Circle area="+area);
return area;
}
}
class Rectangle extends Shape
{
private int x,y,h,w;
public Rectangle()
{
x = y = h = w = 0;
}
public Rectangle(int x, int y, int h, int w)
{
this.x=x;
this.y=y;
this.h=h;
this.w=w;
}
public void drawShape()
{
System.out.println("Rectangle.drawShape()");
}
public double getArea()
{
double area = w * h;
System.out.println("Rectangle area="+area);
return area;
}
}
public class ShapeTest
{
public static void main(String[] args) {
Shape s = new Shape();
Circle c = new Circle(0,0,10.0);
Rectangle r = new Rectangle(0,0,5,4);
System.out.println("Return value="+ s.getArea());
s = c;
System.out.println("Area= "+ s.getArea());
//s.drawShape();
s = r;
System.out.println("Area= "+ s.getArea());
//Rectangle r2 = s;
//Rectangle r3 = (Rectangle) new Shape();
Rectangle r4 = (Rectangle) s;
r4.getArea();
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Unreferenced Objects
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