Exercice : Livres

On représente ici des livres et leurs auteurs.
Un livre peut être écrit par un et un seul auteur.
Un auteur peut avoir écrit plusieurs livres.
1 - Livre
  1. Ecrire une classe Livre, qui possède comme variables d'instance privées
    • son titre (de type String)
    • l'année de publication, de type int
    Cette classe possède un constructeur, qui prend en paramètres le titre et l'année de publication.
  2. Ecrire les getters et setters pour lire / modifier les variables privées de cette classe.
  3. Ecrire une méthode toString() qui renvoie une représentation texte du livre (voir exemple ci-dessous).
    Par exemple : "Crime et Châtiment" (1866)
2 - Auteur
  1. Ecrire une classe Auteur, qui possède comme variable d'instance privée
    • son nom (de type String)
    • son prénom (de type String)
    Cette classe possède un constructeur, qui prend en paramètres le nom et le prénom.
  2. Ecrire les getters et setters pour lire / modifier les variables privées de cette classe.
  3. Ecrire une méthode toString() qui renvoie une représentation texte de l'auteur contenant son prénom, suivi d'un espace et son nom.
    Par exemple : Emile Zola
3 - Classe de test
Dans une classe TestLivres, contenant une fonction main(), effectuez les choses suivantes :
  1. Créez un livre "Au bohneur des dames" (1883)
  2. Créez un livre "La bête humaine" (1890)
  3. Créez un auteur "Emile Zola"
  4. En utilisant les méthodes toString() précédemment écrites, affichez les objets que vous avez créés.
    L'affichage doit donner le résultat suivant :
    Livre "Au bohneur des dames" (1883)
    Livre "La bête humaine" (1890)
    Auteur Emile Zola
    
4 - Liens livre - auteur
  1. Ajoutez à la classe Livre une variable d'instance privée auteur, de type Auteur.
  2. Ajoutez à la classe Livre une méthode setAuteur().
  3. Modifiez la méthode toString() de Livre, de manière à avoir un affichage similaire à
    Livre "Au bohneur des dames" (Emile Zola, 1883)
    Votre méthode doit générer un affichage correct, que l'auteur soit connu ou pas.
5 - Liens auteur - livre
  1. Ajoutez à la classe Auteur une variable d'instance privée livres.
    Cette variable doit être de type List<Livre>
  2. Ajoutez à la classe Auteur une méthode addLivre.
  3. Modifiez la méthode toString() de Auteur, de manière à avoir un affichage similaire à
    Emile Zola
      - "Au bohneur des dames" (1883)
      - "La bête humaine" (1890)