programmation Java (école d'ingénieur) · Chapitre 7 · Exercice de TD
Trois constructeurs pour un livre
Classes et objets · niveau 2
Énoncé
Écrire une classe Livre (titre, auteur, année, nombre de pages) avec trois constructeurs : le constructeur complet, un constructeur sans nombre de pages (inconnu, noté ) et un constructeur sans année ni nombre de pages. Les deux derniers doivent déléguer leur travail au premier avec this(...). La méthode toString() n'affiche l'année et le nombre de pages que s'ils sont connus.
Corrigé
Chaque constructeur incomplet complète les informations manquantes par et délègue au suivant ; seul le constructeur complet affecte les attributs.
class Livre {
String titre;
String auteur;
int annee;
int pages;
Livre(String titre, String auteur, int annee, int pages) {
this.titre = titre;
this.auteur = auteur;
this.annee = annee;
this.pages = pages;
}
Livre(String titre, String auteur, int annee) {
this(titre, auteur, annee, 0); // nombre de pages inconnu
}
Livre(String titre, String auteur) {
this(titre, auteur, 0); // année inconnue
}
@Override
public String toString() {
String s = titre + ", " + auteur;
if (annee != 0) s += " (" + annee + ")";
if (pages != 0) s += ", " + pages + " pages";
return s;
}
}
public class Ex3Livre {
public static void main(String[] args) {
System.out.println(new Livre("Les Misérables", "Victor Hugo", 1862, 1900));
System.out.println(new Livre("Candide", "Voltaire", 1759));
System.out.println(new Livre("Le Horla", "Maupassant"));
}
}
Les Misérables, Victor Hugo (1862), 1900 pages
Candide, Voltaire (1759)
Le Horla, Maupassant
Si l'on ajoute un attribut (l'éditeur, par exemple), un seul constructeur est à modifier : c'est tout l'intérêt de la délégation.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.