N'étant pas habitué à utiliser des classes, je suis en train d'apprendre. Je voudrais créer un script comprenant deux classes, dont l'une consiste à récupérer des données numériques de type réel (ou float) saisies au clavier et l'autre à en faire la somme. J'avais pensé utiliser la méthode d'instance, des variables d'instance et enfin le concept d'héritage avec pour parent la classe "choix" et pour enfant "calcul". Pour le moment cela ne marche pas.
Bien évidemment, le travail ci-dessous est incomplet voire en partie erroné.
La POO commence par les classes quand on entre dans la syntaxe des langages, mais ce n'est pas cela la POO... Ça ne représente pas qu'une syntaxe de langages de programmation, c'est une vision concrète et réelle d'un problème représentée par des objets.
Pour faire cela, on doit se représenter une problématique en adéquation avec la POO, ce n'est absolument pas le cas ici.
Déjà Calcul ne représente pas un objet, c'est une action, donc soit on là place dans une méthode de classe, soit on crée tout simplement une fonction.
Pour Choix, quelles sont les actions liées à cette entité ?
Du coup je t'invite à avoir une réflexion plus poussée sur une problématique pour faire de la POO. Par exemple le jeu "bataille navale", où tu pourrais découper en diverses entités du jeu, sous forme d'objets...
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
On voit que tu n'as pas compris des choses très basiques comme la différence entre une classe et une instance, le rôle de __init__ voire et surtout, au-delà de la POO, que tu n'as pas compris la notion de service et d'interface implicites à la création et l'appel d'une fonction (après tout une méthode est une fonction), autrement dit tu n'as sans doute pas suffisamment codé de petits projets utilisant des fonctions. Et l'utilisation de l'héritage doit venir bien après avoir compris les bases de la POO en Python. Je ne connais pas de cours progressif et clair sur la POO en Python. Peux-être dans des manuels de NSI depuis que c'est enseigné dans les lycées.
Peut-être le problème est-il mal posé pourtant cela me semblait clair. Je vais revoir cela.
Toutefois 2 objets existent : MyInstance et MyInstance2 puisque une instance est un objet.
"__init__" consiste à déclarer des variables ou dit autrement des attributs.
Les éléments "def_<nom>" désignent des méthodes dans les classes dès lors qu'on les trouve dans les classes sinon ce sont des fonctions. Pour moi, un objet est lié à des actions. C'était ma vision dans cette situation particulière mais au vu de vos interventions, ma représentation du concept de classe est restrictive. Je vais abandonner l'héritage pour le moment.
Pour information plusieurs exemples que j'ai trouvés sur le WEB mettent en avant des situations d'utilisation pas très éloignées de la mienne que j'ai imaginée mais sans qu'ils soient d'une grande complexité.
Un instance ne se crée pas de cette manière, revoir la documentation où tu as vu cela.
L'exécution d'une méthode non plus.
- Edité par fred1599 1 février 2023 à 16:23:19
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Utilisation de 2 classes pour 2 événements
× 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.
Python c'est bon, mangez-en.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Découverte Python Doc Tkinter Les chaînes de caractères
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)