IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

probleme avec this


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut probleme avec this
    bonjour à tous
    voilà j'ai vue deux utilisation de this que j'ai du mal à comprendre.

    la première (au sein d'une méthode):

    MonGraphisme.drawImage(monImage, 470,340,this);

    et la deuxième du type:

    public maMethode(){
    this();
    }

    voila j'espere n'avoir rien oublié.
    merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 342
    Points
    342
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGraphisme.drawImage(monImage, 470,340,this);
    Tu passe l'instance sur laquelle tu es en train d'exécuter une méthode à la méthode drawImage(...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public maMethode(){
    this();
    }
    A mon avis le cas "logique" (et qui compile) c'est plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public monConstructeur(Des paramètres....){
    this();
    }
    Tu appelles le constructeur par défaut (sans paramètres), depuis un constructeur sans paramètres.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    desolé j'avais pas vu que tu m'avais répondu, c'est pour cela que je reviens avec pas mal de retard..
    il est clair que j'ai encore du mal avec cela, car j'ai pas compris l'explication de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGraphisme.drawImage(monImage, 470,340,this);
    mais bon je vais m'y pencher...

    En ce qui concerne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public monConstructeur(Des paramètres....){
    this();
    }
    c'est exactement ca l'exemple, en gros c'est quoi l'interet ??

    merci et desolé d'etre aussi debutant

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par axelfelix Voir le message
    car j'ai pas compris l'explication de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGraphisme.drawImage(monImage, 470,340,this);
    Imaginons une méthode centrer() sur l'objet x, prenant en paramètre une instance de JFrame, imaginons que cette méthode positionne la JFrame au centre de l'écran pour qu'elle occupe 1/3 de l'écran. Prenons maintenant une JFrame personnalisée qui veux utiliser cette méthode pour ce centrer. Dans la JFrame, quelque part on aura donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class MaFrame extends JFrame {
      //......
      x.centrer(this); // je demande à x de me centrer
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public monConstructeur(Des paramètres....){
    this();
    }
    c'est exactement ca l'exemple, en gros c'est quoi l'interet ??
    Chainer les constructeur. Imaginons que ton constructeur par défaut (celui sans argument) initialise plein de truc, comme ça le construceur avec des paramètre peut appeler le constructeur par défaut pour qu'il fasse son initialisation, avant de traiter les paramètres.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    merci beaucoup pour toutes ces réponses qui m'aident bien...

    du coup pour la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public monConstructeur(Des paramètres....){
    this();
    }
    ca permet d'initialiser les paramètres, afin que le constructeurs qui utilise des paramètres puisse les utiliser...

    encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Probleme avec $this
    Par cubepiege dans le forum Langage
    Réponses: 5
    Dernier message: 01/03/2006, 16h39
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 11h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 23h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 08h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 09/06/2002, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo