So che il casting può essere fatto solo da una sottoclassifica a una super classe (su casting) ma questo esempio illustra cosa vorrei fare.Lanciare un oggetto di super classe in una sottoclasse - down casting
Class Super {}
Class Sub extends Super {}
Super super = new Super();
Sub sub = (Sub)super;
Credo che questo sia indicato come casting "down", che non è consentito in modo ...
Qual è il modo migliore per creare un oggetto di Sub-tipo dato un oggetto di tipo Super.
EDIT:
Questa è la domanda - Qual è il modo migliore per convertire un animale ad un gatto.
La risposta? Inizia con un animale di tipo base e copia gli attributi nel gatto. Aggiungi pelliccia e coda, ecc. Fondamentalmente un costruttore di copie. È questa la risposta giusta (o una buona risposta)?
ALTRO EDIT:
Credo che la mia domanda è abbastanza chiaro, ma forse è troppo generica. Chiedere il modo "migliore" per fare qualcosa tende a dare molte risposte diverse. Mi rendo conto che il modo migliore può essere diverso in diverse circostanze.
Non sto cercando un tutorial su Java o OO. Solo pescando le opinioni, così posso risolvere questo problema, come ho delineato usando le migliori pratiche.
Dalla tua domanda, non è affatto chiaro cosa sai e cosa non sai. Quindi non essere sorpreso quando le persone rispondono al * Credo che questo sia definito come "down" casting che non è permesso * parte e non la (molto vaga) "domanda reale". Sì, il costruttore di copie è il modo. No, non è l'unico, il metodo factory andrà benissimo. No, non è il migliore - non abbiamo idea di quali vincoli e ipotesi hai. – alf
@alf Posso dire che la mia domanda è chiara per voi - Potete offrire ulteriori suggerimenti su come mettere in pratica le domande in generale? Mi piacerebbe essere in grado di fare una domanda che aggiunge valore al sito e ottiene risposte preziose, ma in questo caso sembra che io abbia fallito ... frainteso, downvoted e ho finito per essere un po 'frustrato. – Matthew
bene, posso vedere la ripartizione dei voti, e non ci sono voti bassi. Niente voti, ma non era questo il punto, vero? Lo standard HOWTO sarebbe http://catb.org/~esr/faqs/smart-questions.html - è bello e pertinente. Sulla questione attuale, direi che dare la colpa a chi ha cercato di aiutare non è un'idea molto produttiva; affermando che la tua domanda è chiara quando hai bisogno di due modifiche è così vicino alla colpa che solo pochi noteranno la differenza. Aggiungi qui "Grazie per aver effettivamente letto la mia domanda" e avrai una buona dose di aggressività. Sii gentile. Correggi gli errori. Non incolpare – alf