Working with inherited objects

This section describes:

Working in a descendent object

You can change descendent objects to meet specialized needs. For example, you can:

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 11, “Working with Windows,” Chapter 15, “Working with User Objects,” and Chapter 14, “Working with Menus and Toolbars.”

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:

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 6, “Working with Libraries.”

NoteAbout local changes If you change a property in an ancestor object, the property also changes in all descendants—if you have not 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.