Portanto, sou bastante novo em programação no mundo real (fora dos projetos acadêmicos) e encontrei muitas postagens dizendo que usar instanceof
é uma coisa ruim para determinar a classe de um objeto específico.
Minha situação é que eu tenho três classes, uma classe de produto base, uma que se estende a isso e outra que se estende a isso. Todos eles são armazenados na mesma tabela em um banco de dados e eu tenho algum código que precisa usar os métodos em cada um para extrair dados deles.
Qual é a melhor prática para contornar essa maneira de fazê-lo? Eu li algumas coisas sobre polimorfismo, mas não consigo encontrar exemplos que resolvam o problema que tenho. Todos eles geralmente substituem um método que, para mim, não funciona, pois preciso extrair coisas diferentes dos diferentes objetos.
Existe uma maneira melhor de fazer isso ou estou preso a usar instanceof
ou algum tipo de reflexão para obter os campos específicos dos objetos?
getSpecifics()
que é implementado de maneira diferente em cada um, com cada um retornando os dados específicos da classe?
instanceof
- chave esteja errada; tentar encontrar a classe de um objeto geralmente é o problema. Nem sempre está errado, mas provavelmente no seu caso está. Talvez se você nos contar o que está tentando realizar, podemos sugerir uma solução usando o polimorfismo.