TD & TP 5
Partie I
Créez une classe Document ayant les attributs privés :
• reference: est un entier naturel non nul, dans le cas contraire une exception de type RefError est levée
• titre: de type texte;
• nbrPage : nombre de pages est un entier naturel non nul, si non une exception de type PageError est
levée;
La classe Document doit posséder un constructeur: Document (reference, titre, nbrPage);
Définissez les modificateurs et accesseurs (getters/setters) pour tous les attributs.
Ajoutez la méthode saisir() pour saisir les informations de Document
Redéfinissez la méthode __str__ pour représenter les instances de Document
Partie II
Ecrivez la classe Livre qui hérite de la classe Document et ayant comme attributs :
• auteur: de type texte;
• edition: de type texte;
Ecrivez la classe classe Roman qui hérite qui hérite de la classe Livre et ayant comme attributs :
• annee: est un entier compris entre 1600 et l’année courante, si non une exception de type AnneeError
est levée
Pour les deux classes :
- Définissez un constructeur par défaut, un constructeur spécifique, et un constructeur de copie.
- Définissez les modificateurs et accesseurs (getters/setters) pour tous les attributs.
- Redéfinissez la méthode saisir() et la méthode __str__
Partie III
Ecrire la classe Journal qui hérite de la classe Document et ayant comme attribut :
• periodicite : de type texte qui prend comme valeur Quotidien, Hebdomadaire, Mensuel ou Annuel
seulement, dans le cas contraire une exception de type PeriodiciteError est levée.
• categorie: de type texte;
Ecrivez la classe Revue qui hérite de la classe Journal et ayant comme attributs :
• mois: est un entier compris entre 1 et 12, dans le cas contraire une exception de type MoisError est
levée
• annee: est un entier compris entre 1800 et l’année courante, si non une exception de type AnneeError
est levée
Pour les deux classes :
- Définissez un constructeur.
- Définissez les modificateurs et accesseurs (getters/setters) pour tous les attributs.
- Redéfinissez la méthode saisir() et la méthode __str__
Partie IV
Ecrivez un programme pour un grand nombre de Document à l’aide d’une liste, et c’est l’utilisateur qui
déterminera le nombre des documents et la nature de chaque document (Livre, Roman, Journal ou Revue).
Implémentez un mécanisme de gestion des exceptions dans le programme.