Так что я довольно новичок в программировании в реальном мире (за пределами академических проектов) и наткнулся на множество постов, в которых говорится, что использование instanceof
- это плохая вещь, чтобы определить, к какому классу относится данный объект.
Моя ситуация такова, что у меня есть три класса, базовый класс продукта, один, который расширяет это и другой, который расширяет это. Все они хранятся в одной и той же таблице в базе данных, и у меня есть некоторый код, который должен использовать методы каждого для извлечения данных из них.
Как лучше всего обходить этот способ? Я прочитал некоторые вещи о полиморфизме, но я не могу найти примеры, которые решают проблему, которую я имею. Все они обычно переопределяют метод, который для меня не работает, так как мне нужно вытащить разные вещи из разных объектов.
Есть ли лучший способ сделать это, или я застрял с использованием instanceof
или какое-то отражение, чтобы получить поля, специфичные для объектов?
getSpecifics()
который реализуется по-разному для каждого, каждый из которых возвращает данные, специфичные для класса?
instanceof
неверно; попытка найти класс объекта обычно является проблемой. Не всегда неправильно, но, вероятно, в вашем случае это так. Возможно, если вы расскажете нам, чего пытаетесь достичь, мы можем предложить решение с использованием полиморфизма.