0% ont trouvé ce document utile (0 vote)
20 vues1 page

TP TD 05

Transféré par

hamze
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues1 page

TP TD 05

Transféré par

hamze
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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.

Vous aimerez peut-être aussi