Je ne comprends pas pourquoi, dans le cours "Découvrez la POO avec Python, au chapitre "Créez votre première zone !", il est nécessaire de créer une méthode de classe dans la classe Zone afin d'initialiser le "monde" ?
Pourquoi ne pas créer une classe "Monde" (avec possibilité de créer une seule instance de cette classe, il me semble que c'est possible...) qui générerait ce monde en utilisant la classe "Zone" ?
C'est probablement subjectif mais je trouve le code du cours plus difficile à comprendre du fait qu'à l'intérieur d'une classe qui sert à créer des zones, on propose également une méthode de classe qui génère la totalité du monde.
Il n'y a pas suffisamment d'exemple qui peut justifier une méthode de classe. Dire que tu crées une classe Monde est sans doute un concept plus intelligemment pensé que la manière de pensée de l'auteur du tutoriel.
Une autre question sur le concept, est-ce que plusieurs mondes peuvent exister ? Si ce n'est pas le cas, peut-être qu'un design pattern tel que Singleton serait une bonne idée.
Cependant, si je reviens à la question de départ, il est à 99,9% souhaitable de créer une méthode d'instance qu'une méthode de classe.
Pour l'auteur, il voulait sans doute expliquer la méthode de classe, j'avoue avoir très peu besoin de ce concept en quasiment 20 ans de python.
Je pense aussi que l'auteure souhaitait présenter les méthodes de classe. Content de voir que je ne suis pas forcément complètement à côté de la plaque...
Le pire dans cet exemple du cours n'est pas tant l'utilisation d'une méthode de classe que celle de l'attribut de classe ZONES qui référence alors toutes les zones créées et ajoute à la classe une responsabilité qui ne devrait pas être la sienne, en plus de créer des soucis de libération des ressources.
Pour en revenir aux méthodes de classe en elles-même, l'une de leurs utilités les plus remarquables est celle de pouvoir offrir une plus grande diversité de constructeurs.
Quand une classe devient complexe et paramétrable, la méthode __init__ reçoit alors généralement un grand nombre de paramètres. Il peut alors être intéressant d'avoir des méthodes de classe prenant certains paramètres autres et faisant appel au vrai constructeur en lui indiquant les valeurs des autres paramètres.
On retrouve souvent cela avec des méthodes from_string/from_file sur certaines classes.
Ce cours est très difficile à comprendre c très grave on peut comprendre rien !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
openclassrooms faite attention et mettez très difficile à comprendre dans l’entête de ce cours
Jdk for life
[Découvrez la POO avec Python] Méthode de classe
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique