Implicit Inheritance from Nearest RootSchema Subschema Copy Class

By default, imported classes are positioned under their nearest imported superclass (that is, their nearest superclass that is also exported in the package being imported).

When an imported class has no imported superclasses, it inherits implicitly from the importing schema’s nearest local RootSchema subschema copy class. For example, assume we have the following export hierarchy.

In this example, the classes displayed in green are exported as package P1.

If package P1 is imported, the Class hierarchy of the importing schema is as follows.

Dict1 is positioned under the MemberKeyDictionary class, which is its nearest RootSchema subschema copy superclass. Html1 is positioned under the JadeHTMLClass class, which is its nearest RootSchema subschema copy superclass.

C4 is positioned under C2, as C3 has not been imported. (C3 is not exported in package P1.) C6 is positioned directly under the Object class, as its superclass (C5) has not been imported. The Object class is the nearest RootSchema subschema copy superclass of C6.

Imported classes inherit implicitly from the nearest RootSchema subschema copy classes of the local importing schema, and local subschema copy methods are available to them. You can therefore write methods that operate on local class instances and imported class instances in a consistent manner.

There is no direct inheritance as there is for local schema classes.

Although local (importing schema) Object methods can have the same name as imported methods, such methods are not polymorphic and they can have different signatures.