Files
TermNSI/POO/TP/TP_POO.md
2024-10-11 08:34:32 +02:00

2.3 KiB
Raw Blame History

TP Programmation orientée objet


1. Introduction

Le but principal de ce TP est d'implémenter une classe Auteur. Ainsi qu'une classe Livre et Bibliothèque. Il y a volontairement pas/peu d'indication sur le code. Seuls les attributs et méthode nécessaires sont indiqués. Leurs implémentations sont libre et dépendent de chacun.

2. Classe Auteur

La classe Auteur est une classe ayant 2 ou 3 attributs selon l'auteur.

  • Un nom (ou pseudonyme)
  • Année de naissance
  • Année de décès (s'il y a)
    • Sinon mettre l'attribut à False

La classe Auteur ne possède pas de méthode.

3. Classe Livre

La classe livre possède différents attributs :

  • Un titre
  • Un genre (Policier, Fantastique ...)
  • Un auteur (qui doit être un objet Auteur)

La classe Livre ne possède pas de méthode.

4. Classe bibliothèque

La classe bibliothèque possède deux attributs principaux :

  • Un type de rayon (Policier, Fantastique ...)
  • Des livres (représenté par un tableau par exemple) (Le tableau doit contenir des objets Livre)

La classe bibliothèque possède différentes méthodes :

  • Une méthode permettant de savoir si un livre est disponible.

Méthode parcourant l'ensemble des livres de la biblio pour savoir si un livre est disponible param nom_livre : (str) Nom du livre à rechercher return : (int) Indice du livre si dispo, -1 sinon"""

  • Une méthode permettant de prêter un livre

Méthode permettant de preter un livre s'il est dispo. param nom_livre : (str) nom du livre à emprunter return : (Livre/bool) Livre si emprunt possible, False sinon

  • Une méthode permettant d'ajouter un livre dans son rayon.

Méthode permettant d'ajouter un livre. param livre (Livre): Livre à ajouter return : (str) précise si le livre est ajouté ou non

5. Création des objets

Créer la classe est bien, maintenant il faut manipuler les objets.

  1. Créer 2 bibliothèques contenant chacune au moins 2 livres de deux auteurs différents.

6. Pour aller plus loin

Ici, il est possible d'ajouter n'importe quel attributs et/ou méthodes de votre choix. Il faut s'entraîner, essayer d'aller le plus loin possible. Alors essayez, testez !