- Togli il campo codiceColore da Camicia (non ha senso, se non mi dai una spiegazione plausibile)
- Togli il getColore() da Camicia (non potresti più usare il campo, che è private nella superclasse .... e comunque non farebbe nulla di più del getColore() di Abbigliamento)
- Nel setColore di Camicia usa super.setColore( .... ); per invocare il setColore della superclasse che È in grado di accedere al suo campo)
P.S.1) un setter che stampa un messaggio di errore non è granché buono ... sarebbe meglio una eccezione.
P.S.2) c'è comunque la questione concettuale che la tua Camicia fornisce una "restrizione" per il setColore. Questo vuol dire che oggetti Camicia NON sono perfettamente sostituibili ovunque sia richiesto un Abbigliamento.