Leçon 16 : Création d'objets avec les constructeurs
Un constructeur est un type spécial de méthode utilisé pour initialiser un objet immédiatement après l'allocation de mémoire pour celui-ci. Il ne s'exécute qu'une seule fois lors de la création de l'objet.
Caractéristiques clés des constructeurs
- Le nom d'un constructeur doit être exactement le même que celui de la classe.
- Il n'a pas de type de retour (pas même
void). - Il est appelé à l'aide du mot-clé
new.
1. Le constructeur par défaut
Si vous ne définissez aucun constructeur explicitement, Java fournit automatiquement un constructeur public sans argument (par défaut).
java public class Book { String title;
// Java le fournit automatiquement si nous ne l'écrivons pas :
// public Book() { }
}
Book b = new Book(); // Appelle le constructeur par défaut
2. Constructeurs paramétrés
Utilisés pour forcer l'appelant à fournir des valeurs initiales pour l'état de l'objet.
java public class Book { String title; int pages;
// Constructeur paramétré
public Book(String initialTitle, int numPages) {
title = initialTitle;
pages = numPages;
System.out.println("Nouveau livre initialisé : " + title);
}
}
// Doit passer des arguments lors de la création de l'objet Book harryPotter = new Book("Harry Potter", 300); // Book emptyBook = new Book(); // ERREUR ! Le constructeur par défaut n'existe plus.
3. Surcharge de constructeurs
Une classe peut avoir plusieurs constructeurs, tant que chacun a une liste de paramètres unique (nombre ou types de paramètres différents). C'est utile pour offrir de la flexibilité lors de la création d'objets.
java public class Book { // 1. Constructeur avec titre et pages public Book(String title, int pages) { ... }
// 2. Constructeur avec titre uniquement
public Book(String title) {
this(title, 0); // Appelle le premier constructeur (chaînage de constructeurs)
}
}