Quote Originariamente inviata da Gas75 Visualizza il messaggio
ma mi sono giocato il controllo switch, e mi stampa qualunque char. Non posso mettere lo switch nel setColore() della superclasse
Guarda che nel setColore di Camicia puoi fare tutti gli switch e test che vuoi sul parametro! Come dicevo prima (ma deduco che non sono stato troppo chiaro ...), l'unica cosa particolare è che quando hai verificato che il valore è appropriato ed accettabile, devi semplicemente invocare tu super.setColore(codiceColore); perché solo il setColore di Abbigliamento ha accesso al campo, essendo private.


Quote Originariamente inviata da Gas75 Visualizza il messaggio
2) non so se ho capito bene... Non amo creare oggetti Camicia riferiti ad Abbigliamento e poi fare casting per usare un metodo di Camicia.
Non c'entrano i cast. Si intende il fatto che se hai una variabile di tipo Abbigliamento e vuoi invocare polimorficamente setColore (senza cioè "sapere" a priori che oggetto realmente è), per un certo valore ti funziona oppure no a seconda della implementazione del setColore se impone restrizioni oppure no.

Principio di sostituzione di Liskov