Quindi sono abbastanza nuovo nella programmazione nel mondo reale (al di fuori dei progetti accademici) e mi sono imbattuto in molti post che affermano che usare instanceof
è una cosa negativa da usare per determinare quale classe è un oggetto specifico.
La mia situazione è che ho tre classi, una classe di prodotto di base, una che si estende da quella e un'altra che si estende da quella. Questi sono tutti memorizzati nella stessa tabella in un database e ho del codice che deve utilizzare i metodi su ciascuno per estrarre i dati da essi.
Qual è la migliore pratica per aggirare questo modo di farlo? Ho letto alcune cose sul polimorfismo ma non riesco a trovare alcun esempio che risolva il problema che ho. Di solito tutti hanno la precedenza su un metodo che per me non funzionerà perché devo estrarre cose diverse dai diversi oggetti.
C'è un modo migliore per farlo o sono bloccato con l'uso instanceof
o una sorta di riflessione per ottenere i campi specifici degli oggetti?
getSpecifics()
che è implementato in modo diverso su ciascuno, con ognuno che restituisce i dati specifici della classe?
instanceof
sia sbagliata; cercare di trovare la classe di un oggetto è di solito il problema. Non sempre sbagliato, ma probabilmente nel tuo caso lo è. Forse se ci dici cosa stai cercando di realizzare, possiamo suggerire una soluzione usando il polimorfismo.