Adloun

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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →