Node:Introspection, Next:Miscellaneous Functions, Previous:Changing the Class of an Instance, Up:Reference Manual
Introspection, also known as reflection, is the name given to the ability to obtain information dynamically about GOOPS metaobjects. It is perhaps best illustrated by considering an object oriented language that does not provide any introspection, namely C++.
Nothing in C++ allows a running program to obtain answers to the following types of question:
Employee::adjustHoliday()
, what class contains the
adjustHoliday()
method that will be applied?
In C++, answers to such questions can only be determined by looking at the source code, if you have access to it. GOOPS, on the other hand, includes procedures that allow answers to these questions -- or their GOOPS equivalents -- to be obtained dynamically, at run time.