MORENO SARDELLA · RECUPERO JAVA
← Tutte le lezioni
Lezione 2

METODI E COSTRUTTORI

Invocare metodi sull'interfaccia pubblica di una classe, passare parametri e ricevere valori. Costruire oggetti con il costruttore e capire il riferimento this.

01
Usare gli oggetti

L'interfaccia pubblica

Quando hai un oggetto, ci interagisci invocando i suoi metodi. L'insieme dei metodi che puoi chiamare dall'esterno e' l'interfaccia pubblica della classe: e' tutto cio' che ti serve sapere per usarla, senza conoscere come e' fatta dentro.

uso_string.java
String nome = "Mario";
int lunghezza = nome.length();      // invoco un metodo -> 5
String urlato = nome.toUpperCase();  // -> "MARIO"
02
Dare dati ai metodi

Parametri e valori restituiti

Un metodo puo' ricevere dei parametri (i dati in ingresso) e restituire un valore con return. Il tipo prima del nome e' il tipo di cio' che torna; void significa “non restituisce nulla”.

Restituisce un valore

public int somma(int a, int b) { return a + b; }

Non restituisce (void)

public void saluta(String nome) { System.out.println("Ciao " + nome); }
03
Costruire oggetti

Il costruttore

Il costruttore e' un metodo speciale che ha lo stesso nome della classe e non ha tipo di ritorno. Viene chiamato con new e serve a inizializzare l'oggetto. La parola this indica “l'oggetto che sto costruendo” e serve a distinguere l'attributo dal parametro con lo stesso nome.

Cane.java
public class Cane {
    public String nome;
    public int eta;

    public Cane(String nome, int eta) {   // costruttore
        this.nome = nome;                // this.nome = attributo; nome = parametro
        this.eta = eta;
    }
}
// creo un oggetto Cane
Cane fido = new Cane("Fido", 3);
Accessori e modificatori — i metodi che leggono un attributo si chiamano getter (es. getNome()), quelli che lo cambiano sono setter (es. setEta(...)).
04
Allenati

Esercizi guidati

01
Costruttore con this

Scrivi la classe Libro con attributi titolo e pagine, un costruttore che li inizializza usando this, e un metodo getTitolo().

Mostra soluzione
public class Libro { private String titolo; private int pagine; public Libro(String titolo, int pagine) { this.titolo = titolo; this.pagine = pagine; } public String getTitolo() { return titolo; } }
02
Metodo che calcola

Aggiungi a Libro un metodo isLungo() che restituisce true se il libro ha piu' di 300 pagine.

Mostra soluzione
public boolean isLungo() { return pagine > 300; }

Altri esercizi sui costruttori nel PDF della Lezione 3.

05
Allenati

Esercizi base e avanzati

Esercizi su metodi, parametri e costruttori, divisi per livello: prima il base, poi gli avanzati. Soluzioni in fondo a ciascun PDF.

Metodi e costruttori - Esercizi basescarica ↓
Metodi e costruttori - Esercizi avanzatiscarica ↓