Skip to content

Commit ade310b

Browse files
authored
Create hi
1 parent f4f2d27 commit ade310b

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

hi

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
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

Comments
 (0)