Ciao a tutti, qualche giorno fa ho sestenuto l'esame di programmazione 1 e la correzione di uno degli esercizi mi ha laciato molto perplesso.
Avevamo 2 classi :
dovevamo scrivere alcuni metodi tra cui aggiungiLibro.codice:public class Libro{ private String titolo; private int numeroPagine; //costruttore e get-set } public class Biblioteca{ private Libro [] libri; private int size; private int index; //costruttore }
io ho scritto
La correzione del prof è stata: Esercizio sbagliato perchè l'incapsulamento è stato violato, non si può passare un oggetto a un metodo ma solo i suoi attributi.codice:public boolean aggiungiLibro(Libro libro){ //aggiungo libro }
Il metodo secondo lui corretto era:
Io non riesco a capire come l'incapsulamento risulta violato in questo modo. Mi rendo conto che così si disaccoppia il reference del libro ma non capisco la sua utilità; bisognerà sempre passare per i metodi get-set per accedere o modificare lo stato dell'oggetto.codice:public boolean aggiungiLibro(String titolo, int numeroPagine){ Libro libro = new Libro(titolo,numeroPagine); //ora posso aggiungerlo }
Qualcuno potrebbe illuminarmi per favore?

Rispondi quotando
).

.
.
