Innanzitutto, in generale:
- il documento pdf mostra il diagramma UML e mostra 2 package "veicoli" e "garage". Quei blocchi viola non sono lì solo per caso o solo per estetica ... nel senso che se sono stati messi è perché si richiedeva espressamente di disporre le classi in quei due package.
Ecco una valutazione di ciascuna classe:
- VeicoloAMotore:
in generale tutto ok, classe public ok, costruttore ok, campi correttamente private, metodi getter/setter public ok. Salvo una cosa: se hai un getter getAnnoImmatricolazione, il setter corrispettivo dovrebbe essere setAnnoImmatricolazione ... non setAnnoImm.
- Motocicletta/Furgone/Automobile:
in generale tutto ok. Struttura, livelli di accesso e denominazioni sono ok. Il toString() sarebbe da rendere un po' più "espressivo", perché adesso elenca proprio solo i dati e basta. Almeno mettere cosa è l'oggetto ... "Motocicletta:" .. "Automobile:" .... ecc....
- Garage:
in generale va bene. Il campo 'arr' sarebbe però da tenere private. Nota che nel println il .toString() su arr[x] è superfluo, la concatenazione delle stringhe invocherebbe già implicitamente toString se mettessi solo + arr[x]);
Cosa succede (o dovrebbe succedere) se immetti più di 15 veicoli? Così come è, otterresti una eccezione (ArrayIndexOutOfBoundsException). In effetti il testo non dice cosa dovrebbe succedere ... quindi senza indicazioni particolari può andare bene così.
- MainGarage:
Ok.