Professional Documents
Culture Documents
Esercitazione 2
● Consegna su Moodle
● matricola_cognome_nome.zip
Ereditarietà
Cosa è l'ereditarietà?
È possibile far ereditare alle classi sia variabili di stato che metodi.
Nomenclatura
Regola
// Bicicletta.java
public class Bicicletta {
...
}
// MountainBike.java
public class MountainBike extends Bicicletta {
...
}
// BiciDaCorsa.java
public class BiciDaCorsa extends Bicicletta {
...
}
Sottoclasse
La sottoclasse può
● utilizzare gli attributi ereditati come fossero suoi (ma attenzione ai modificatori)
● definire nuovi attributi
● utilizzare i metodi ereditati come se fossero suoi (ma attenzione ai modificatori)
● definire nuovi metodi
● sovrascrivere metodi della superclasse (overriding)
this vs super
Mentre this viene utilizzato per riferirci all'oggetto corrente, per riferirci alla
superclasse si utilizza super.
public Bicicletta() {}
● attributi → private/protected
● funzioni di lavoro → private/protected
● interfaccia pubblica → public
Overloading
private int x, y;
private int width, height;
public Rectangle() {
this(0, 0, 1, 1);
}
}
Javadoc
Produce una pagina html con interfaccia identica alle API Java.
$ javadoc Classe.java
Javadoc - tags by example
Il testing ricopre una parte essenziale nello sviluppo delle applicazioni. Un buon
test ricopre il maggior numero di casi limite.
● custom
○ creare una classe di test
○ utilizzare le asserzioni (assert)
● libreria
○ JUnit: semplifica la creazione di classi di test (la vedremo più avanti)
assert 2+2 == 4;
Hint: per la radice quadrata usare Math.sqrt() (non è necessario fare import)
Creare un costruttore che prende le coordinate (x,y) (di tipo double) e uno senza
parametri che inizializza le coordinate a 0.
Create i metodi:
Creare un costruttore che prende il punto di inizio e il punto di fine (come Point2D)
Create i metodi:
● nome
● cognome
● eta
Costruttore:
● nome
● cognome
● eta
● stipendio
Il codice deve garantire in ogni caso uno stipendio almeno pari a 100.
Esercizio Persona 3/3