You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Un negozio online consente ai clienti di effettuare pagamenti utilizzando diversi metodi di pagamento (carta di credito, PayPal, buono regalo). Il software deve essere progettato in
2
+
3
+
modo flessibile, così da permettere l'aggiunta di nuovi metodi di pagamento senza modificare il codice esistente.
4
+
5
+
Parte 1
6
+
7
+
Tutti i metodi di pagamento condividono alcune caratteristiche comuni:
8
+
9
+
- permettono di pagare un importo
10
+
11
+
- restituiscono un esito dell'operazione (successo o fallimento)
12
+
13
+
Individua il comportamento comune che può essere rappresentato tramite un'interfaccia.
14
+
15
+
Parte 2-Definizione dell'interfaccia
16
+
17
+
Crea un'interfaccia chiamata MetodoPagamento che dichiari il seguente metodo:
18
+
19
+
boolean paga(double importo);
20
+
21
+
Parte 3
22
+
23
+
Implementa almeno tre classi che rappresentano diversi metodi di pagamento:
24
+
25
+
- CartaDiCredito
26
+
27
+
- PayPal
28
+
29
+
- BuonoRegalo
30
+
31
+
Ogni classe deve implementare l'interfaccia MetodoPagamento e definire il metodo paga.
32
+
33
+
Il metodo deve stampare a console il tipo di pagamento utilizzato e l'importo.
34
+
35
+
Parte 4
36
+
37
+
Crea una classe Cassa contenente il metodo main.
38
+
39
+
Nel main:
40
+
41
+
- dichiara una variabile di tipo MetodoPagamento
42
+
43
+
- utilizzala per effettuare pagamenti con oggetti diversi
44
+
45
+
- richiama il metodo paga senza conoscere il tipo concreto dell'oggetto
46
+
47
+
Parte 5- Estensione
48
+
49
+
- Aggiungi un nuovo metodo di pagamento senza modificare il codice esistente
50
+
51
+
- Gestisci il fallimento di un pagamento (es. importo non valido)
52
+
53
+
- Utilizza una lista di MetodoPagamento per effettuare più pagamenti
0 commit comments