0% ont trouvé ce document utile (0 vote)
2 vues8 pages

Course - Python - Recup Poo

Transféré par

zouibetabdessamade
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)
2 vues8 pages

Course - Python - Recup Poo

Transféré par

zouibetabdessamade
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

Résumé « cas pratique »

Système de Gestion Bancaire complet

Mise en pratique
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Diagramme conceptuel du système

numero doit être de cette forme : « COMP-0001,


COMP-0002, …. »

Architecture du Système
Le système utilise l'héritage pour partager le comportement commun, l'encapsulation pour protéger
les données.

14.04.26 160
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie I

▪ CompteBancaire : C'est la classe de base dont héritent les deux sous-classes.


✓ nombreComptes : Attribut de classe, Partagé par toutes les instances (s'incrémente à chaque
création d'objet)
✓ Le constructeur :
✓ Initialise le titulaire et le solde (par défaut à 0)
✓ Génère automatiquement le numéro de compte au format COMP-0001 grâce à :

✓ Initialise l'historique comme une liste vide []


✓ Incrémente le compteur de classe : [Link] += 1

14.04.26 161
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie I

Les attributs sont privés (préfixés __) et exposés


via des @prperty, le principe d'encapsulation

Propriété Getter Setter


Titulaire Oui Non(lecture seule)
solde Oui Oui (@[Link])
numero Oui Oui (@[Link])
historique Oui (retourne Non
une copie)

Le retour d'une copie de l'historique est


important (cela empêche toute modification
externe directe de la liste interne).

14.04.26 162
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie I

✓ Vérifie que le montant est positif, sinon lève une ValueError


✓ Ajoute le montant au solde
✓ Enregistre la transaction dans l'historique sous forme de
dictionnaire avec : type, montant, description, solde_apres
✓ Retourne le solde mis à jour

Presque le même traitement que déposer


✓ Vérifie que le montant est positif (sinon ValueError)
✓ Vérifie que le solde est suffisant (sinon ValueError :
"Solde insuffisant")
✓ Déduit le montant du solde
✓ Enregistre la transaction dans l'historique
✓ Retourne le solde mis à jour

14.04.26 163
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie I

Cette méthode va parcourir sur l’ensemble des éléments de la liste historique puis
✓ Affiche toutes les transactions enregistrées pour un compte
✓ Sous Format :
« type » : « montant » MAD – « description »
« solde actuel en fin » MAD

Retourne une représentation en chaîne lisible de chaque instance de


la classe CompteBancaire:
Ex: CompteBancaire N°: COMP-0001 | Titulaire : Yahya | Solde : 1500.00 MAD

Une méthode de classe, Permet d'interroger le nombre total de


comptes créés sans avoir besoin d'une instance

14.04.26 164
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie II

CompteCourant hérite de la classe CompteBancaire et redéfinir


(surcharge) la méthode retirer() pour autoriser le découvert.

Le Constructeur
✓ Appelle le constructeur parent via super()
✓ et Ajoute l'attribut __decouvert (privé) avec
une valeur par défaut 500 MAD

La méthode retirer (la logique est modifiée par rapport à la classe parente)
✓ Vérifie que le montant est positif, calcule le solde disponible réel = solde + découvert
✓ Si le montant dépasse ce plafond lève une erreur avec un message indiquant le découvert autorisé
✓ Sinon, délègue au parent via super().retirer() pour garder la logique commune (historique)

14.04.26 165
Ch4. Programmation Orienté Objets (POO)

Résumé « cas pratique »


Implémentation – pratie II

CompteEpargne hérite de la classe CompteBancaire et ajoute la


notion de taux d'intérêt (attribut taux + méthode calculer_interets)

Le Constructeur
✓ Appelle le constructeur parent via super()
✓ et Ajoute l'attribut __taux (privé) avec une
valeur par défaut 2% (0.02)

La méthode calculer_interets
✓ Calcule les intérêts : interets = [Link] * self.__taux
✓ Appelle « [Link](interets, "Intérêts annuels") » réutilise la méthode héritée pour créditer et
enregistrer dans l'historique automatiquement
✓ Retourne le montant des intérêts calculés

14.04.26 166

Vous aimerez peut-être aussi