Programmation Orientée Objet - Exercices
Avant de commencer
À partir de maintenant, nous n’allons plus coder dans des Notebooks mais dans l’IDE VSCode.
-
- cela vous permettra de créer un clone du code
-
geometrie
pour stocker vos classes des exercices 1 et 2domino
pour l’exercice 3
Sur votre machine personnelle
Si vous n’avez pas accès au réseau ENSAI, vous pouvez soit :
- continuer à coder dans les notebooks
- installer les outils pour développer en python
1 Exercice 1 - Points
Définissez une classe Point
pour représenter un point du plan de coordonnées x et y.
Codez les méthodes suivantes :
Pour vérifier que vos méthodes sont correctes, vous pouvez ajouter à la fin de votre classe un bloc main
. Lorsque vous exécuterez ce fichier, c’est ce code qui sera lancé.
point.py
class Point:
# ...
if __name__ == "__main__":
= Point(1, 2)
p1 = Point(1, 2)
p2 print(f"p1 : {p1}")
print(f"Distance entre p1 et p2 : {p1.distance(p2)}")
print(f"p1 est égal à p2 : {p1 == p2}")
2 Exercice 2 - Polygones
-
- Nous supposerons par la suite que les segments ne se croisent pas
-
- ces méthodes seront définies dans les classes filles
-
- vérifiez à chaque fois le nombre de points
Voici le diagramme de classes généré avec Mermaid
3 Exercice 3 - Domino
3.1 Un Domino
Écrire une classe Domino
avec :
3.2 Jeu
Maintenant nous allons essayer de coder un jeu de dominos (pour plus de facilité, il n’y aura qu’un seul joueur et il n’est possible de poser que d’un seul côté, à la fin de la rangée de domino):
Écrivez une fonction jouer()
qui :
Correction
Exercices 1 et 2
Un exemple de tests unitaires sur la classe Point :