Type Inheritance
Type Inheritance lets one type extend another, so the child type automatically includes all attributes defined on the parent. This enables reuse, consistency, and cleaner structure across your data model.
Behavior
- A child type automatically includes every attribute defined on its parent, and can still define its own additional attributes.
- Inheritance chains across multiple levels — a type can have children, grandchildren, and so on.
- Inheritance is single-parent only — a type can extend exactly one other type.
- Attribute names must stay unique within the inheritance chain.
- A child type cannot override an inherited attribute.
- Changing an attribute on a parent type reflects across all its child types.
- Once established, the inheritance relationship can't be removed, since child types depend on the parent's attributes.
Type inheritance is a separate mechanism from the parent/child grouping you can also set up for types in the sidebar tree — that grouping is purely visual, for organizing the tree (with its own rules, like no cycles and staying within the same space), and carries no attribute logic. See Type's own note that this visual hierarchy leaves "your object data and underlying logic... unaffected" — attribute inheritance, described on this page, is the real mechanism for sharing attributes across types.
See also: Type, and includeChildren on the
Reference attribute type for referencing a parent
type and its children together.