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

70 lines
2.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 !