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 :

problème avec this/super


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut problème avec this/super
    Salut,

    J'apprend en ce moment le Java mais il y a quelques chose que ne comprends pas. Ce sont les mots-clés this et super
    Pour this, je ne vois pas à quoi ça sert, je peux très bien donner les données de l'objet en paramètres dans la méthode, non?
    Et super, je peux récupérer les méthodes avec extends, non?

    Merci d'avance,

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    salut.
    on peut utiliser this et super pour plusieurs raisons
    je vais donner qd même deux exemples.
    Citation Envoyé par Scronchh Voir le message
    Pour this, je ne vois pas à quoi ça sert, je peux très bien donner les données de l'objet en paramètres dans la méthode, non?
    si les paramétrés de ta méthode ont le même nom que celui des attributs de ton objet.. tu fais quoi alors ?
    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class maClasse
    {
    String nom;
    String prenom;
    public maClasse(String nom, String prenom)
    {
        this.nom = nom;
        this.prenom = prenom
    }
    }
    Citation Envoyé par Scronchh Voir le message
    Et super, je peux récupérer les méthodes avec extends, non?
    tu as raison mais ce n'est pas tout

    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class A 
    {
      void calcul()
     {
         [..]
     }
    }
    
    class B extends A
    {
    void calcul()//redéfinition de la méthode de la super classe
    {
       calcul();
       [..]
    }
    }
    tu peux me dire quel est le code qui va être exécuté lors de l'appel de la méthode en rouge ? celui de la méthode ds A ou celui de la méthode ds B ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    La méthode A?

  4. #4
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par Scronchh Voir le message
    La méthode A?
    il y a un doute non ?

    dans ce cas, le code de calcul() dans B qui sera exécuté ce qui va entrainer un appel récursive.
    Si tu souhaite exécuter la méthode de la classe mère, alors il FAUT faire

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    Bon..euh... pour this, j'ai compris
    Mais pour super() j'ai vraiment du mal, tu pourrais re-expliquer une dernière fois avec d'autre exemples stp?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    super est la pour permettre d'appelé la méthode de la Class mère a partir de la Class fille.

    c'est très utile quand la Class fille ajoute du traitement a la méthode de la class mère ou bien a besoin du résultat de la Class mére pour calculer le résultat final.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2014, 08h39
  2. Problème avec le this en java
    Par sachou19 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 01/05/2014, 17h31
  3. Problème avec this.(a[0],a[1])
    Par nabil.g dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 24/08/2013, 17h48
  4. Petit problème avec this
    Par Jobard81 dans le forum Langage
    Réponses: 7
    Dernier message: 16/02/2009, 14h08
  5. [POO] Problème avec $this de PHP4 à PHP5
    Par c4l3m dans le forum Langage
    Réponses: 19
    Dernier message: 16/02/2007, 09h48

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