Skip to content

Commit 491f792

Browse files
committed
Adjustments/improvements to lab 2 ex 6 readme @NiccoMlt
1 parent 4de43c8 commit 491f792

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
# Programmazione ad Oggetti - Laboratorio 02
2+
23
## Esercizio 6 - constructors
34

45
#### FASE 1 - Costruttori
56

6-
1. Si rimuova dalle classi `Train` e `Student` il metodo `void main(String[])` ed il metodo `void build(...)`
7+
1. Si osservi e poi si rimuova dalle classi `Train` e `Student` il metodo `void main(String[])` ed il metodo `void build(...)`
8+
- Si noti come tra l'istanziazione di uno `Student` e la sua "costruzione" mediante `build` l'oggetto si trovi in uno stato semanticamente inconsistente
79
2. Si implementi un costruttore a zero argomenti per `Train`
8-
- I campi dovranno essere inizializzati con valori di default *sensati* a scelta dello studente
9-
3. Si implementi un costruttore che specifica un numero di parametri idoneo ad inizializzare la l'istanza della classe
10-
4. Si implementi in autonomia il costruttore della classe Student
10+
- I campi dovranno essere inizializzati con valori di default *sensati* a vostra scelta
11+
3. Si implementi un costruttore con un set minimale di parametri atto ad inizializzare un'istanza della classe
12+
4. Si implementi in autonomia il costruttore della classe `Student`
1113
5. Si seguano le istruzioni riportate in `UseConstructors`
1214
6. Facendo riferimento a quanto discusso a lezione circa la possibilità di richiamare costruttori esistenti nel corpo di un altro costruttore tramite istruzione `this`, si modifichi il costruttore a zero argomenti di Train in modo che riusi quello che accetta parametri per l'inizializzazione.
1315
7. Si crei (se non già realizzato) un costruttore `Train(int, int)` dove gli argomenti passati siano i posti in prima e seconda classe, rispettivamente.
1416
8. Si seguano le istruzioni in `UseConstructorsEvolved` per effettuare il test.
1517

1618
#### FASE 2 - Esercizio più avanzato
19+
1720
1. Si completi la classe `oop.lab02.constructors.Smartphone` con i campi:
18-
- `int nCPU, ram, sdSize`
19-
- `String brand, model`
20-
- `boolean hasGPS, hasNFC, has3G`
21+
- `int nCPU, ram, sdSize`
22+
- `String brand, model`
23+
- `boolean hasGPS, hasNFC, has3G`
2124
2. Si implementino nella classe suddetta i seguenti costruttori:
22-
- `Smartphone(String brand, String model)`
23-
- `Smartphone(String brand, String model, int sdSize, boolean hasGPS, boolean has3g)`
24-
- `Smartphone(String brand, String model, int sdSize)`
25-
- `Smartphone(String brand, String model, boolean hasNFC)`
26-
- Costruttore con un argomento per campo
27-
Nota: ci si assicuri di usare `this` per richiamare i costruttori esistenti
25+
- `Smartphone(String brand, String model)`
26+
- `Smartphone(String brand, String model, int sdSize, boolean hasGPS, boolean has3g)`
27+
- `Smartphone(String brand, String model, int sdSize)`
28+
- `Smartphone(String brand, String model, boolean hasNFC)`
29+
- Costruttore con un argomento per campo (NB: ci si assicuri di usare `this` per richiamare i costruttori esistenti)
2830
3. Si utilizzino i commenti riportati nel `main` della classe per scrivere un test ed eseguirlo.

0 commit comments

Comments
 (0)