В некоторых случаях очень удобно.
Например, есть в системе контрагенты, которые могут быть организацией, ИП или физлицом, для каждого из них есть уникальные поля. Но в системе все работают с контрагентами. Делаем базовую сущность Contractor
, от неё наследуемся и для каждого типа контрагента делаем свой класс.
Я в своем проекте (yii2-based) нечто подобное делаю. Но все сущности, с которыми работает проект, у меня реализовываются в виде DTO, которые получаются из репозитория. И только репозиторий работает с AR.