Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?

Inheritance

Specifies the inheritance order for the superclasses of this class.

Usage

To specify the inheritance order for the superclasses of this class, use the following syntax:

Class MyApp.MyClass Extends (MySuperClass1, MySuperClass2) [ Inheritance = inheritancedirection ] { //class members }

Where inheritancedirection is left or right.

Or omit this keyword. In this case, Caché uses the default inheritance direction (left).

Details

The Inheritance keyword specifies inheritance order for a class with multiple inheritance. A value of left for inheritancedirection specifies left-to-right inheritance and a value of right specifies right-to-left inheritance.

For example, in the class definition in the synopsis, a value of left specifies that conflicting member definitions between MySuperClass1 and MySuperClass2 are resolved in favor of MySuperClass1; by contrast, a value of right specifies that conflicting member definitions between MySuperClass1 and MySuperClass2 are resolved in favor of MySuperClass2.

Important:

The leftmost listed superclass is always the primary superclass, regardless of inheritance order.

Effect on Subclasses

This keyword is not inherited.

Default

If you omit this keyword, the inheritance order is left.

See Also

Feedback