WRITE A JAVA
PROGRAM that illustrates how runtime polymorphism is achieved.
Program :
class Figure
{
double dim1;
double dim2;
Figure(double a, double b)
{
dim1 = a;
dim2 = b;
}
double area()
{
System.out.println("Area for Figure is undefined.");
return 0;
}
} class Rectangle extends Figure { Rectangle(double a, double b)
{
super(a, b);
} // override area for rectangle double area() {
System.out.println("Inside Area for Rectangle.");
return dim1 * dim2;
}
}
class Triangle extends Figure { Triangle(double a, double b)
{
super(a, b);
}
//
override area for right triangle double area()
{
System.out.println("Inside Area for Triangle.");
return dim1 * dim2 /
2;
}
} class FindAreas
{
public static void main(String args[])
{
Figure f =
new Figure(10, 10);
Rectangle r = new Rectangle(9, 5);
Triangle t = new
Triangle(10, 8);
Figure figref; figref = r;
System.out.println("Area is
" + figref.area()); figref = t; System.out.println("Area is " +
figref.area()); figref = f; System.out.println("Area is " +
figref.area());
}
}