Inheritance is explained in the "Design Advanced Domain Models" learning path.
Here is a link to the section that explains how to use datagrids or listviews with inheritance.
https://gettingstarted.mendixcloud.com/link/module/50/lecture/397
edit:
I'm not sure if there is an easier way to accomplish that. What you could do is create a non-persistent entity with an attribute that is an enumeration (the enumeration values will be the different type of specializations), then you can display the enumeration values with a drop down in a popup (or on the page), and then build a microflow that will handle logic for each value of the enumeration (in this case create the correct specialization object).