Late Binding:
• Late binding causes the address of a method to be looked up at run
time.
• That is, as the program executes, it consults an object’s virtual method table
to figure out which version of the method to call
• Late binding enables us to use base class pointers and point to
derived class objects and still maintain access to the derived class’s
functionality
It is why in C++ code you almost always use pointers to objects rather than non-pointers
• Late binding causes the address of a method to be looked up at run
time.
• That is, as the program executes, it consults an object’s virtual method table
to figure out which version of the method to call
• Late binding enables us to use base class pointers and point to
derived class objects and still maintain access to the derived class’s
functionality
• This is a very important point. Take a moment to think about this. It is why in
C++ code you almost always use pointers to objects rather than non-pointers
Early Binding:
• Early binding is accomplished at compile time. There is no virtual
method table to be consulted.
• With early binding, we don’t have the flexibility of using pointers to
base classes and maintaining access to derived class functionality
• The first Shape/Rectangle example used early binding
• One advantage to early binding is that it is generally faster than late
binding since no lookup is necessary