Лучше не делать такого :)
В некоторых случаях очень удобно.
Например, есть в системе контрагенты, которые могут быть организацией, ИП или физлицом, для каждого из них есть уникальные поля. Но в системе все работают с контрагентами. Делаем базовую сущность Contractor
, от неё наследуемся и для каждого типа контрагента делаем свой класс.