\item
Function names do not have to be unique in most \oop\ languages.  A class
{\tt C} and a class {\tt B} may have two different functions, both called 
{\tt F} attached
to them.  If {\tt A} and {\tt B} are unrelated then a call to {\tt F}
will be easily recognized as a call to either {\tt A}'s {\tt F} or
{\tt B}'s {\tt F} from the text of the program.  However, if
{\tt A} inherits from {\tt B}, {\tt B} inherits from {\tt A}, or
{\tt A} and {\tt B} inherits from a class {\tt C}, then it may not
be clear from the program text, which body of code will be executed
when {\tt F} is called.
Indeed,
this can only be resolved at runtime.  This makes the task of tracing
the impact of change more complicated.
