We have noted already how a variable declared as an instance of one
class can, in fact, hold a value from a subclass type.
-
Dynamic (run-time) type must be subclass of static (declared) type.
-
In C++ only works with pointers and references.
-
In Java can be formed from class or interface types.
-
The polymorphic variable (or value) is basis for much of the power of OOP.