//dynamic polymorphism
class
One
{
void calculate(double x)
{
System.out.println("Square
value ="+(x*x));
}
}
class
Two extends One
{
void calculate(double x)
{
System.out.println("Square
root ="+Math.sqrt(x));
}
}
class
Poly1
{
public static void main(String args[])
{
Two t=new Two( );
t.calculate(16);
}
}
D:\prr\Core
java>javac Poly1.java
D:\prr\Core
java>java Poly1
Square
root =4.0
/* Program for Dynamic Polymorphism */
class
A
{
void fun1()
{
System.out.println("Inside fun1 of
A");
}
void fun2()
{
System.out.println("Inside fun2 of
A");
}
}
class
B extends A
{
void fun1()
{
System.out.println("Inside fun1 of
B");
}
void fun2()
{
System.out.println("Inside fun2 of
B");
}
}
class
C extends B
{
void fun1()
{
System.out.println("Inside fun1 of
C");
}
void fun2()
{
System.out.println("Inside fun2 of
C");
}
}
class
DynamicPolymorphism
{
public static void main(String args[])
{
A a1;
int n=Integer.parseInt(args[0]);
if(n<=5)
a1=new A();
else if(n>5 && n<10)
a1=new B();
else
a1=new C();
a1.fun1();
a1.fun2();
} // end of main()
}
// end of class