Initialiser une matrice
Résolu/Fermé
andredrea
Messages postés
227
Date d'inscription
lundi 12 octobre 2009
Statut
Membre
Dernière intervention
3 mars 2021
-
Modifié par andredrea le 26/03/2016 à 00:22
greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 - 27 mars 2016 à 01:01
greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 - 27 mars 2016 à 01:01
A voir également:
- Initialiser une matrice en c
- Impossible d'initialiser le protocole sftp. sftp fonctionne-t-il sur le serveur ? - Forum Linux / Unix
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Impossible initialiser disque dur redondance cyclique - Forum Disque dur / SSD
- Pas modifier une partie de matrice - Forum Excel
- Figer une table matrice - Forum Excel
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
26 mars 2016 à 10:49
26 mars 2016 à 10:49
Bonjour,
Comment le constructeur
Remarques :
Comment le constructeur
UneImage(Jeu, int, int)utilise
this?
Remarques :
- autant que possible il faut limiter la visibilité des attribut d'une classe
- this est optionnel dans la plupart des cas
- ne pas oublier l'appel au constructeur de la superclasse (JFrame ici)
public class Jeu extends JFrame { private final UneImage lesBtns[][]; public Jeu() { super(); int width = 10, height = 4; lesBtns = new UneImage[width][height]; for (int j=0; j<width; j++) { for (int i=0; i<height; i++) { lesBtns[j][i] = new UneImage(this, 1, 1); } } } }
26 mars 2016 à 11:34
UneImage est une sous classe d'un Jbutton donc j'appelle this pour que quand j'appuie sur le bouton UneImage, une fonction de this soit executée.
(Quand j'initialise tout en une fois dans la déclaration de l'attribut avec les {} ça fonctionne.)
En effet j'avais oublié le super() mais ça ne change rien !
26 mars 2016 à 13:14
Merci encore,
bon week end
Modifié par greg6614 le 26/03/2016 à 23:00
Également le n'est pas forcément utile ici car il ne fait que forcer le tableau à avoir une référence unique et une affectation dans le constructeur. Il pourrait alors compliqué de faire des opérations dans une suite éventuelle du programme.
26 mars 2016 à 23:49
Quant au il est intéressant de le mettre par défaut et de ne l'enlever que si on a vraiment besoin de changer l'objet référencé (ce qui n'aurait pas de sens ici). En plus ça permet de garantir qu'il est bien initialisé dans tout les constructeurs (la compilation plante si on l'oublie) ce qui évite de se retrouver avec un NullPointer...
27 mars 2016 à 01:01
Pour le je préfère justement faire l'inverse, c-à-d l'ajouter si je suis sûr de ne jamais modifier l'objet référencé. Cela étant il n'y a pas vraiment de bonne ou mauvaises façons mais beaucoup d'habitudes tenaces je dirai :)