Costruttori in Java | Aulab

GUIDE PER ASPIRANTI PROGRAMMATORI

Costruttori in Java

Nella programmazione orientata agli oggetti, i costruttori hanno un ruolo fondamentale. Essi sono metodi speciali che vengono chiamati al momento della creazione di un oggetto (istanza) di una classe. Il compito principale di un costruttore è di inizializzare l’oggetto, impostando un valore iniziale per ogni attributo o eseguendo qualsiasi impostazione preliminare necessaria.   Caratteristiche dei…

Lezione 24 / 47
Enza Neri
Immagine di copertina

Vuoi avviare una nuova carriera o fare un upgrade?

Trova il corso Digital & Tech più adatto a te nel nostro catalogo!

Nella programmazione orientata agli oggetti, i costruttori hanno un ruolo fondamentale. Essi sono metodi speciali che vengono chiamati al momento della creazione di un oggetto (istanza) di una classe. Il compito principale di un costruttore è di inizializzare l’oggetto, impostando un valore iniziale per ogni attributo o eseguendo qualsiasi impostazione preliminare necessaria.

Caratteristiche dei Costruttori in Java

  • Nome: Un costruttore deve avere lo stesso nome della classe in cui è definito.
  • Non ha un tipo di ritorno: A differenza di altri metodi, un costruttore non ha un tipo di ritorno, nemmeno void.
  • Automatizzazione: Viene automaticamente chiamato quando si crea un nuovo oggetto tramite l’operatore new.

Tipi di Costruttori in Java

  • Costruttore Predefinito: Se non si definisce un costruttore per una classe, Java fornisce automaticamente un costruttore predefinito senza parametri che non fa nulla se non chiamare il costruttore della superclasse.
  • Costruttore Senza Parametri: È un costruttore definito dall’utente senza argomenti. Serve per creare un oggetto senza passare valori espliciti e spesso assegna valori di default agli attributi.
  • Costruttore Con Parametri: Questo tipo di costruttore permette di passare argomenti al momento della creazione di un oggetto, consentendo di inizializzare immediatamente lo stato dell’oggetto con valori specifici.

Esempio Pratico

Immaginiamo di avere una classe Libro per la nostra biblioteca:

public class Libro {
    private String titolo;
    private String autore;
    private int annoPubblicazione;

    // Costruttore senza parametri che inizializza i valori di default
    public Libro() {
        this.titolo = "Sconosciuto";
        this.autore = "Sconosciuto";
        this.annoPubblicazione = 0;
    }

    // Costruttore con parametri per impostare titolo, autore e anno di pubblicazione
    public Libro(String titolo, String autore, int annoPubblicazione) {
        this.titolo = titolo;
        this.autore = autore;
        this.annoPubblicazione = annoPubblicazione;
    }

    // Metodo principale (main) che è il punto di ingresso dell'applicazione
    public static void main(String[] args) {
        // Crea una nuova istanza di Libro con parametri specificati
        Libro mioLibro = new Libro("Il Nome della Rosa", "Umberto Eco", 1980);

        // Stampa i dettagli del libro
        System.out.println("Dettagli Libro:");
        System.out.println("Titolo: " + mioLibro.getTitolo());
        System.out.println("Autore: " + mioLibro.getAutore());
        System.out.println("Anno di Pubblicazione: " + mioLibro.getAnnoPubblicazione());
    }

    // Metodi getter per accedere agli attributi privati
    public String getTitolo() {
        return titolo;
    }

    public String getAutore() {
        return autore;
    }

    public int getAnnoPubblicazione() {
        return annoPubblicazione;
    }
}

Utilizzando il costruttore senza parametri:

Libro libroMisterioso = new Libro();

Utilizzando il costruttore con parametri:

Libro libroFamoso = new Libro("Il Signore degli Anelli", "J.R.R. Tolkien", 1954);

I costruttori forniscono un mezzo per garantire che un oggetto sia in uno stato valido non appena viene creato. Incoraggiano un codice più pulito e più sicuro, evitando oggetti parzialmente inizializzati o in uno stato inconsistente.

Sei indeciso sul percorso? 💭

Parliamone! Scrivici su Whatsapp e risponderemo a tutte le tue domande per capire quale dei nostri corsi è il più adatto alle tue esigenze.

Oppure chiamaci al 800 128 626