In the context of Java, please explain what a "polymorphic method" is.
"Polymorphic" means "many shapes." In Java, you can have a superclass with subclasses that do different things, using the same name. The traditional example is superclass Shape
, with subclasses Circle
, Square
, and Rectangle
, and method area()
.
So, for example
// note code is abbreviated, this is just for explanation
class Shape {
public int area(); // no implementation, this is abstract
}
class Circle {
private int radius;
public Circle(int r){ radius = r ; }
public int area(){ return Math.PI*radius*radius ; }
}
class Square {
private int wid;
Public Square(int w){ wid=w; }
public int area() { return wid*wid; }
}
Now consider an example
Shape s[] = new Shape[2];
s[0] = new Circle(10);
s[1] = new Square(10);
System.out.println("Area of s[0] "+s[0].area());
System.out.println("Area of s[1] "+s[1].area());
s[0].area()
calls Circle.area()
, s[1].area()
calls Square.area()
-- and thus we say that Shape
and its subclasses exploit polymorphic calls to the method area.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With