Skip to main content

Data model inheritance and polymorphism


Talend MDM introduces a true object-oriented data model that allows you to use inheritance and polymorphic characteristics when defining your data models. This object-oriented approach enables you to define inheritance hierarchies (inheritance trees) in the data models you create in Talend Studio. For further information on setting up a data model, see Data Models.

Inheritance allows you to extend an existing type to add or override specific elements while inheriting the attributes from the main entity. This summarizes the two main concepts included in inheritance: generalization and specialization. Generalization (or abstraction) is the process of sharing attributes from the main type and inheriting them automatically in other subtypes (inheritance types). In contrast to generalization, specialization means creating new subtypes from an existing main type by adding attributes specific to each subtype.

Polymorphism allows you to set the type of an element to an abstract generic type and the concrete type is determined at runtime. For instance you can have an address established and define it at runtime as a US or European address.

Inheritance and polymorphism are supported for both attributes and entities. The sections below gives examples for both cases.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!