Если вы используете рекомендованную практику наличия модели наследования "is-a", то этот шаблон почти никогда не появится.
Как только у вас есть конкретный класс, вы говорите, что вы можете создать его экземпляр. Если вы потом выводите из него абстрактный класс, то что-то, что является атрибутом базового класса, не относится к производному классу, который должен устанавливать клаксоны, что что-то не так.
Глядя на ваш пример, персик - это не яблоко, поэтому его не следует выводить. То же самое относится и к помидорам, полученным из ягод.
Здесь я обычно советую сдерживание, но это даже не кажется хорошей моделью, поскольку Apple не содержит персика.
В этом случае я бы выделил общий интерфейс - PieFilling или DessertItem.