Working with inherited objects
This section describes:
- Working in a descendent
object - Working in an ancestor object
- Resetting properties in a descendant
Working in a descendent object
You can change descendent objects to meet their specialized
needs. For example, you can:
- Change properties
of the descendent object - Change properties of inherited controls in the object
- Add controls to a descendent window or user object
- Add menu items to a menu
You cannot copy a control on a descendent window or visual
user object if the control inherits from the ancestor object, because
the resulting inheritance hierarchy cannot be maintained consistently.
You can
copy a control on a descendent object
if the control does not
inherit from the object’s
ancestor.
For specifics about what you can do in inherited
windows, user objects, and menus, see Chapter 10, “Working with Windows”, Chapter 14, “Working with User Objects “, and Chapter 13, “Working with Menus “.
Working in an ancestor object
When you use inheritance to build an object, the descendant
is dependent on the definition of the ancestor. Therefore you should
not delete the ancestor without deleting the descendants.You should also be
careful when you change the definition of an ancestor object. You
may want to regenerate descendent objects if you do any of the following:
- Delete or change the
name of an instance variable in the ancestor - Modify a user-defined function in the ancestor
- Delete a user event in an ancestor
- Rename or delete a control in an ancestor
When you regenerate the descendants, the compiler will flag
any references it cannot resolve so you can fix them. For information
about regenerating objects, see Chapter 2, “Working with
Libraries”.
About local changes If you change a property in an ancestor object, the property
will also change in all descendants–if
you
haven’t already changed that property in a descendant, in
which case the property in the descendant stays the same. In other
words, local changes always override inherited properties.