Probème de variable
Résolu/Fermé
speedzealot
Messages postés
18
Date d'inscription
vendredi 24 juillet 2015
Statut
Membre
Dernière intervention
17 novembre 2015
-
Modifié par speedzealot le 24/07/2015 à 15:37
speedzealot Messages postés 18 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 17 novembre 2015 - 27 juil. 2015 à 19:25
speedzealot Messages postés 18 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 17 novembre 2015 - 27 juil. 2015 à 19:25
A voir également:
- Probème de variable
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Windows 7
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Programme python ✓ - Forum Python
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
24 juil. 2015 à 21:00
24 juil. 2015 à 21:00
Bonjour,
Tu as redéfini le constructeur de la classe, ce qui efface celui de la classe mère, alors que c'est elle qui fait l'initialisation...
Tu as redéfini le constructeur de la classe, ce qui efface celui de la classe mère, alors que c'est elle qui fait l'initialisation...
public ClasseFille() { super(); // appel du constructeur Mere() qui fait integer=1 }
25 juil. 2015 à 01:19
Modifié par speedzealot le 27/07/2015 à 10:02
je vais developper mon probleme :
J'utilise Slick2D et ma classe mere c'est ma fenetre de jeu.
je voudrai creer un nouveau thread depuis cette classe mere et, que ce nouveau thread hérite des variables de classes de ClasseMere (parce que je n'ai pas vraiment envis de creer des accesseurs pour ces 10 parametres, ni meme de changer la portee de ces parametres à "package", ca me compliquer trop le travail de maintenance et ce serai plus lourd a l'execution, sachant que ce thread va faire une grosse serie d'action assez lourde, sans s'arreter)
Donc ce thread j'ai voulu le faire implementer l'interface Runnable.
peut-on vraiment creer un heritage de cette maniere en passant par la classe mere qui est deja instanciée ou dois-je revenir sur une methode moins subtile ?
27 juil. 2015 à 10:10
Modifié par KX le 27/07/2015 à 19:26
L'héritage c'est pour des classes afin qu'elles génèrent des objets qui ont des comportement communs, plus une spécificité pour l'objet de la classe fille.
On parle donc de deux objets totalement distincts, qui n'interagissent pas entre eux, c'est leur code qui est commun, pas leurs états.
Avec :
Ici ça va fonctionner, on va bien avoir integer==1 dans l'objet ClasseFille car le constructeur a appelé le code de Mere.
Avec :
Ici ça ne fonctionne pas, car l'objet de ClasseFille est construit sans rien faire, il faudrait appeler la méthode init() pour l'objet fille - de la même manière que pour l'objet Mere - afin que cela fonctionne.
Si j'ai bien compris ce que tu cherches à faire, c'est suivre dans tous les objets de ClasseFille l'évolution de l'état d'un objet Mere en particulier. Mais ce n'est pas de l'héritage.
Passer en paramètre l'objet Mere à ClasseFille (qui n'est de toute façon pas une classe fille puisque l'héritage ne sert à rien dans ton cas) est pour moi la manière la plus propre de faire. Il en existe une manière plus directe mais si tu peux éviter c'est mieux, voici un exemple (on appelle ça des inner classes) :
Remarque : je te conseilles de renommer tes classes Mere et Fille, car il n'y a vraiment aucune relation d'héritage ici.
Une troisième manière de faire, serait de mettre les deux classes en une (à ne pas utiliser si BasicGame implémente déjà Runnable, c'est à dire si la classe Mere hérite d'une méthode run() que ce code viendrait remplacer à tort).
27 juil. 2015 à 19:25
(mes classes ne s'appelles pas du tout ClasseMere et ClasseFille, c'etait juste pour les rendre plus explicite dans ma demande ^^)
enfin la ca marche tres bien :) et les threads fonctionnent bien simultanément :)