Один и тот же обьект реального мира может быть представлен разными абстракциями. Абстракция реального обьекта должна отвечать требованиям конкретной задачи. У вас могут быть такие задачи:
1. показать товар на витрине - это просто набор визуальных данных и технических характеристик которые к движению имеют коссвеное отношение и которые нафиг не нужны во время езды (например белый цвет машины, 5 вольтовая лампочка индикации)
2. покататься на машине - теперь нам срать на визуальные и технические данные, нам надо скорость и комфорт
3. отремонтировать машину на СТО - теперь нас интересует исключительно часть машины связанная с поломкой
Это три разных абстракции одного и того же реального обьекта, а значит и три разных класса. А то что данные они могут получать из одной строки БД нас уже не должно волновать. Наследовать их от одной абстракции смысла нет, так как не факт что между абстракциями есть хоть чтото общее кроме понятия "машина" и методы одного класса будут семантически оправданны в другом, или вообще иметь смысл (получить цвет машины в классе езды на машине)
Если же попытаться наследовать, и в данный момент абстракции будут согласованы, то не факт что вам не придется добавить в какой-то из классов метод, который будет абсолютно не в тему в отнаследованном.