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

Langage Java Discussion :

méthode avec valeur objet en parametre en java


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 7
    Par défaut méthode avec valeur objet en parametre en java
    Bonjour,
    Je débute sous java après 5 ans d'algo et de langage structuré AIe :-)
    J'ai beau chercher je ne trouve ni sur google ni sur la faq de développez.com, ni dans les tutos.
    Comme je débute peut etre suis je passé a coté ...

    je voudrais savoir comment appeler une méthode avec pour arguments les valeurs d'un objet.
    un objet "monobjet" type "maclasse" contenant 2 valeurs A (type char) et B (type int).
    Une méthode "maméthode" reçoit monobjet.A et monobjet.B comme parametres.

    comment se fait la déclaration de la méthode ?

    Comment se fait l'appel ?.

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Euh, il suffit de lui passer l'objet non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void maMethode(MaClasse objet){
    ...
    //Tu peut utiliser objet.A et objet.B
    }
    Ou sinon, si tu veut passer les deux paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void maMethode(ClasseDeA a, ClasseDeB b){
    ...
    //Tu peut utiliser a et b
    }
    Dans le premier cas, tu l'appelles avec tonObjet en paramètre :

    et dans le deuxième avec les deux propriétés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maMethode(monObjet.A, monObjet.B)
    Ca te suffit ?

    Mais j'ai peut-être pas bien compris ton problème

  3. #3
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par ché
    Bonjour,
    Je débute sous java après 5 ans d'algo et de langage structuré AIe :-)
    J'ai beau chercher je ne trouve ni sur google ni sur la faq de développez.com, ni dans les tutos.
    Comme je débute peut etre suis je passé a coté ...

    je voudrais savoir comment appeler une méthode avec pour arguments les valeurs d'un objet.
    un objet "monobjet" type "maclasse" contenant 2 valeurs A (type char) et B (type int).
    Une méthode "maméthode" reçoit monobjet.A et monobjet.B comme parametres.

    comment se fait la déclaration de la méthode ?

    Comment se fait l'appel ?.

    Merci pour votre aide.

    heu c'est la base de java.
    pour la déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void maMethode(char a, int b){
    //le traitement
    }
    pour l'utilisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monobjet.maMethode('s',4);

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 7
    Par défaut merci pour vos réponses encore une petite question :-)
    Bonjour,
    Merci beaucoup pour vos réponses qui m'on été très utiles !
    juste une petite précision encore sur static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    public class prog{
    public static void main (string[] arg){
    }
    
    public static void maméthode(...)
    }
    Toutes les méthodes placées et interagissantes avec main doivent de type static ?
    comme je l'ai fait pour ma méthode ?

    car sans static j'ai le message :
    *** Semantic Error: The method "mamethode" is not static, and cannot be accessed in this static context.

    Peut etre n'ai je pas codé selon l'usage en java ?

    Je vous remercie encore.

  5. #5
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par ché
    Toutes les méthodes placées et interagissantes avec main doivent de type static ?
    comme je l'ai fait pour ma méthode ?

    car sans static j'ai le message :
    *** Semantic Error: The method "mamethode" is not static, and cannot be accessed in this static context.
    Tout ce qui sera appellé dans ta méthode main, donc dans un contexte statique, devra être statique, mais c'est pas très objet de tout coder en statique directement comme ça. Pour bien, il faut que tu fasses une classe et que le main passe le relais à cette classe :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class XXX{
        public void doSomething(){
     
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     
    public class prog{
        public static void main (string[] arg){
            XXX monObjet = new XXX();
            monObjet.doSomething();
        }
    }
    Et tu n'as ainsi plus besoin de tout mettre en static dans ta classe

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 7
    Par défaut Merci beaucoup
    bonjour,
    merci pour ta réponse qui m'aide beaucoup, en effet je trouvais étrange de devoir tout passer en static (il n'y aurait plus eu d'intéret à avoir ce paramètre static s'il avait du être mis de manière systèmatique)

    Merci encore pour la syntaxe.

    Ché

    PS: pour quelqu'un qui vient du monde algo depuis un certain temps, la programmation objet au départ c'est du chinois : on a l'impression que c'est illisible, incompréhenssible, désordonné, sans régles. Mais enfait il n'en est rien. Si j'ai le temps j'essarai de faire un tuto sur faire la transition de l'algo procédurale à la poo java (petit tuto sans prétention...:-) )

  7. #7
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par ché
    PS: pour quelqu'un qui vient du monde algo depuis un certain temps, la programmation objet au départ c'est du chinois : on a l'impression que c'est illisible, incompréhenssible, désordonné, sans régles. Mais enfait il n'en est rien. Si j'ai le temps j'essarai de faire un tuto sur faire la transition de l'algo procédurale à la poo java (petit tuto sans prétention...:-) )
    Il est vrai que le mode de pensée objet, n'est pas très compatible avec le procédurale. Mais par contre rien n'empèche de faire de l'algo au sein d'une méthode.

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

Discussions similaires

  1. Exception et méthode avec valeur de retour
    Par gmonta31 dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2008, 12h54
  2. pb d'invoke de methode avec un tableau d'objets en parametre
    Par sebastien2222 dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 27/09/2006, 10h33
  3. Réponses: 29
    Dernier message: 17/07/2006, 01h33
  4. Réponses: 2
    Dernier message: 02/02/2006, 23h00
  5. Méthode avec argument objet de la même classe
    Par Black-Ghost dans le forum C++
    Réponses: 5
    Dernier message: 30/01/2006, 10h01

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