
Originariamente inviata da
Gas75
Il programma era partito con lo scopo di confrontare il totale calcolato in modo "tradizionale" e col pattern Visitor, poi ho pensato di modificarlo togliendo il calcolo del totale "tradizionale" e aggiungendo alla modalità col pattern l'elenco degli elementi acquistati.
Ok ma forse non mi sono spiegato bene.
Nel main fai:
codice:
Libro libro = new Libro("Il segno del comando", 7.99);
DVD dvd = new DVD("Il mistero dei Templari", 12.10);
Carrello carrello = new Carrello();
carrello.add(libro);
carrello.add(dvd);
Quindi ora i due articoli li stai aggiungendo nell'oggetto Carrello.
codice:
CarrelloTotale carrelloTotale = new CarrelloTotale(carrello);
carrelloTotale.getTitoli();
System.out.println("Totale = " + carrelloTotale.getTotale());
Qui stai passando il Carrello al CarrelloTotale. Ma attenzione, come dicevo prima, il Carrello NON LO USI (perlomeno per quanto ho visto postato) in CarrelloTotale.
Quindi i visita() di CarrelloTotale NON sono stati invocati, pertanto il getTotale() non può trovare nulla.
E comunque questa dualità Carrello e CarrelloTotale non ha molto senso ...