- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans les parties précédentes, on a créé une classe junior qui est héritée de notre classe utilisateur.On a vu qu'à partir d'une classe enfant, on peut appeler les méthodes et attributs de la classe parent.
00:00:10 :Donc là, si on fait afficher projet à partir de Paul, qui est défini à partir de la classe junior, on y a accès.Seulement, pour l'instant, on affiche tous les projets.
00:00:18 :Donc nous, ce qu'on veut, c'est afficher uniquement les projets qui ne sont pas protégés.Alors ce qu'on va faire, c'est ce qu'on appelle de la surcharge.
00:00:24 :C'est-à-dire qu'on va récupérer cette méthode ici et on va l'écraser, en quelque sorte, en la définissant dans la classe enfant.Donc à l'intérieur de la classe junior, on définit une même méthode qui s'appelle afficher projet également, mais qui va être différente.
00:00:38 :Donc ici, à la place d'afficher tous les projets, je vais rajouter ma structure conditionnelle.Donc if not project start with, on va mettre pr underscore comme ceci.
00:00:48 :Donc si le projet ne commence pas avec pr, on l'affiche.Donc dans ce cas-ci, on va afficher uniquement Harry Potter.Donc là, en fait, ce que Python va faire, c'est que quand on appelle une méthode ou un attribut, il va regarder ce qui est le plus proche de lui.
00:01:10 :S'il n'y avait pas de méthode afficher projet définie à l'intérieur de junior, il irait chercher la méthode dans la classe parent.Là, vu qu'on en a défini une à l'intérieur de junior, elle est plus proche de junior que d'utilisateur.
00:01:21 :Et donc c'est celle-ci qui l'utilise.Donc là, cette fois-ci, si j'exécute mon script, je vais bien avoir une méthode afficher projet qui n'affiche que le projet Harry Potter.
00:01:30 :Donc ça, c'est ce qu'on appelle la surcharge.C'est-à-dire qu'on va donc en quelque sorte écraser cette méthode.Donc cette méthode, en fait, elle n'est pas vraiment écrasée puisqu'on y a toujours accès.
00:01:39 :C'est-à-dire que je vais pouvoir toujours l'appeler.En fait, si j'utilise utilisateur ici ou carrément super, j'ai toujours accès à cette méthode au niveau de ma classe parent.
00:01:48 :Donc c'est pour ça que je vous dis qu'on ne l'écrase pas vraiment.Mais en fait, qu'on fait juste définir une méthode dans la classe qui va être enfant de notre classe utilisateur.
00:01:58 :Et que donc Python va utiliser ce qui est le plus proche de lui.Donc dans ce cas-ci, la méthode qui est associée à notre classe junior.
00:02:04 :Donc voilà pour ce qu'on appelle la surcharge.Donc c'est très pratique puisque ça nous permet, avec l'héritage d'hériter de tout ce qu'on veut dans notre classe mère.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.