Cours gratuit, illimité, sans publicité et sans mot de passe (juste ton email), par Ilian, professeur particulier depuis 2020. Rien n'est jamais totalement gratuit : en échange, Head of Science peut t'écrire pour te présenter ses cours, et si celui-ci t'a servi, un avis Google à la fin aide beaucoup.
Trois personnages, neuf variables
Tu programmes un petit jeu de combat. Chaque personnage a un nom, des points de vie (PV) et une force. Avec ce que tu connais du cours Python, le premier réflexe est d'écrire des variables :
nom1 = "Arthur"
pv1 = 100
force1 = 30
nom2 = "Merlin"
pv2 = 80
force2 = 20
nom3 = "Ogre"
pv3 = 150
force3 = 40Ça marche pour trois personnages. Mais imagine 30 élèves dans une classe avec un nom, un prénom, trois notes et une moyenne chacun : 180 variables. Et chaque fois que tu veux faire quelque chose sur un personnage, il faut penser à prendre les bonnes variables, celles qui ont le même numéro.
def attaquer(force_attaquant, pv_cible):
return pv_cible - force_attaquant
pv3 = attaquer(force1, pv3) # Arthur attaque l'Ogre
pv2 = attaquer(force3, pv1) # l'Ogre attaque Merlin... ou Arthur ?pv1 au lieu de pv2. Python ne voit rien, il calcule, et Merlin se retrouve avec les PV d'Arthur moins 40. Rien ne relie nom2, pv2 et force2 entre elles, à part leur numéro, que toi seul dois surveiller.Programme complet du cours de programmation orientée objet (8 chapitres, gratuit)
- 1. Pourquoi des objets ? : Le problème qu'on cherche à résoudre : des données éparpillées dans des variables et des dictionnaires, et l'idée de regrouper l'état et les actions dans un seul objet.
- 2. Classe et objet : Le plan et ce qu'on fabrique avec : écrire une classe avec class, instancier des objets, et découvrir que int, str et list sont des classes.
- 3. Les attributs : l'état d'un objet : Donner des données à un objet avec le point, les lire, les modifier, et comprendre ce qui se passe quand deux variables désignent le même objet.
- 4. Le constructeur : __init__ et self : Remplir un objet dès sa fabrication : la méthode __init__, le paramètre self, les arguments donnés à la classe et les attributs à valeur fixe.
- 5. Les méthodes : les actions d'un objet : Écrire les actions d'un objet dans sa classe : méthodes qui affichent, qui modifient l'état, qui renvoient une valeur, et ce que fait vraiment p.saluer().
- 6. Des objets qui travaillent ensemble : Un objet en paramètre d'une méthode, un attribut qui est une liste d'objets (le panier et ses produits), et une première structure : la pile.
- 7. L'encapsulation : protéger l'état : Empêcher qu'on mette un solde à -1000 : vérifications dans les méthodes, attributs privés avec _ et __, accesseurs et mutateurs, interface et implémentation.
- 8. La totale : une bibliothèque de prêt : Un mini-projet guidé qui utilise tout le cours : classes Livre et Bibliotheque, attributs privés, objets qui en contiennent d'autres, et un guichet qui lit au clavier.