What is dynamic binding in OOPS

DYNAMIC BINDING

Dynamic Binding is a way of binding the appropriate versions of derived classes which are inherited from same base class with Base class object.

 

 Consider the following example:

Now, to call functions of all the 3 classes, we have to make object of each class, as follows:

C1 o1 =new C1();

o1.add();

 C2 o2=new C2();

o2.add();

 C3 o3=new C3();

o3.add();

 Here, the “new” keyword has 2 functionalities:

  • It helps to refer/saves/initializes the address of its RHS class to its LHS variable.
  • It allocates sufficient memory space for the data members of the class.

 To minimize the memory space & interface efficiency, we use the concept of dynamic binding as follows:

 

  • o1= new C1();
  • add();
  • o1=new C2();
  • add();
  • o1=new C3();
  • add();

 

    • In this example, we can see in line #1, #3 and #5, the object o1 is an object of all the three classes C1, C2 and C3 respectively. So, this type of object is known as Polymorphic Object.
    • In Line #2, #4 and #6, the statement “o1.add()” seems similar, but in every line the statement is executing from different scopes and having different results. Such types of statements are known as Polymorphic statements.
    •  In Line #2, #4 and #6, add () is polymorphic method.

Leave a Reply