Así que soy bastante nuevo en la programación en el mundo real (fuera de los proyectos académicos) y he encontrado muchas publicaciones que dicen que usar instanceof
es algo malo para determinar qué clase es un objeto específico.
Mi situación es que tengo tres clases, una clase de producto base, una que se extiende fuera de eso y otra que se extiende fuera de eso. Todos estos se almacenan en la misma tabla en una base de datos y tengo un código que necesita usar los métodos en cada uno para extraer datos de ellos.
¿Cuál es la mejor práctica para evitar esta forma de hacerlo? He leído algunas cosas sobre el polimorfismo, pero no puedo encontrar ningún ejemplo que solucione el problema que tengo. Por lo general, todos anulan un método que para mí no funcionará, ya que necesito extraer diferentes cosas de los diferentes objetos.
¿Hay una mejor manera de hacer esto o estoy atascado con el uso instanceof
o algún tipo de reflexión para obtener los campos específicos de los objetos?
getSpecifics()
que se implementa de manera diferente en cada uno, y cada uno devuelve los datos específicos de la clase.
instanceof
esté mal; Tratar de encontrar la clase de un objeto suele ser el problema. No siempre está mal, pero probablemente lo sea en tu caso. Tal vez si nos dice lo que está tratando de lograr, podemos sugerirle una solución con polimorfismo.