Pages

dynamic polymorphism programmes

//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