Exercices sur la programmation orientée objet
Exercice 1
1) Créez une classe Point
qui possède deux attributs x
et y
correspondant aux coordonées du point.
Ces deux attributs doivent être affectés par le constructeur.
2) Ajoutez une méthode affiche()
qui affiche les coordonnées du point comme ci-dessous (ici, x = 2 et y = 3) :
Point | x : 2 | y : 3
3) Ajoutez une méthode translater(tx,ty)
qui ajoute tx
à x
et ty
à y
.
class Point:
""" Point dans un plan """
def __init__(self, x, y):
self.x = x
self.y = y
def affiche(self):
print("Point | x :", self.x, " | y :", self.y)
def translater(self, tx, ty):
self.x = self.x + tx
self.y = self.y + ty
mon_point = Point(2,3)
mon_point.affiche()
mon_point.translater(2,2)
mon_point.affiche()
Exercice 2
1) Créez une classe Compte
modélisant un compte en banque.
La classe possède deux attributs somme
et taux
correspondant à la somme placée sur le compte et au taux d'intérêt.
Ces deux attributs doivent être affectés par le constructeur.
2) Ajoutez une méthode affiche()
qui affiche la somme et le taux comme ci-dessous :
Compte | somme : 2000€ | taux : 2%
3) Ajoutez une méthode depot(x)
qui ajoute x
à la somme sur le compte.
4) Ajoutez une méthode retrait(x)
qui enlève x
à la somme sur le compte.
Elle pourra renvoyer un erreur si la somme sur le compte devient négative et annuler alors l'opération.
5) Ajoutez une méthode interets()
qui calcule les intérêts perçus en un an et les ajoute à la somme placée.
Pour rappel les intérets se calculent avec la formule interets = taux x somme / 100
class Compte:
""" Compte en banque """
def __init__(self, somme, taux):
self.somme = somme
self.taux = taux
def affiche(self):
# On met sep="" pour pouvoir coller € et %
print("Compte | somme : ", self.somme, "€ | taux : ", self.taux, "%", sep="")
def depot(self, x):
self.somme = self.somme + x
def retrait(self, x):
if self.somme > x: # Si le compte reste créditeur
self.somme = self.somme - x
else:
print("Erreur : découvert non autorisé !")
def interets(self):
""" Calcule les intérets sur 1 an et les crésite au compte. """
interets = self.somme * self.taux / 100
self.somme = self.somme + interets
mon_compte = Compte(5000, 10)
mon_compte.affiche()
mon_compte.depot(5000)
mon_compte.affiche()
mon_compte.retrait(4000)
mon_compte.affiche()
mon_compte.retrait(10000)
mon_compte.interets()
mon_compte.affiche()