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 :

Appeler une methode capable de cibler un objet précis selon parametre entréi (est ce possible?)


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Appeler une methode capable de cibler un objet précis selon parametre entréi (est ce possible?)
    Bonsoir à tous,

    Alors je suis dans une phase de réflexion qui m'a amené à ce soucis.
    Donc avant de basher du code, j'avais besoin d'avis pour savoir si je m'engageait dans une mauvaise piste.

    Le projet à rendre demande a un contrôleur de pouvoir interroger ou commander une multiprise.
    Le soucis n'est pas le code mais je me demandais : au lieu d'avoir une classe Multiprise 4 ports
    dans laquelle j'entrerai 4 fois les mêmes variables, les mêmes méthodes pour 4 prises différentes
    (mais identiques dans leur attributs, c'est juste 4 fois la meme prise differencier du n°1 à 4)
    pourquoi ne ferais pas plusieurs construction d'objet Prise.

    Rapidement je schématise :
    ici "hello" englobe les méthodes déclarées du serveur dans le RMI Registry permettant a un client d'appeler des méthodes distantes
    Nom : 1.JPG
Affichages : 104
Taille : 42,1 Ko

    Je me vois mal taper n fois les mêmes lignes pour décrire une Prise se déclinant n fois
    mais je voulais aussi amener qqch de "simple" a construire pour celui qui voudrait s'essayer a pres moi à une Multiprise 16 ports (lol bon courage)
    Nom : 2.JPG
Affichages : 78
Taille : 56,1 Ko

    Mais du coup j'ai essayé :
    1 (en rouge) d'obtenir une methode (appelons la methodX()) capable d'offrir ensuite les méthodes 1 2 3 qu'offre une prise mais qui
    selon le paramètre entré
    exemple: methodX(2) pour cibler la prise P2...proposition des methodes de base 1 2 3.
    ou methodX(3) pour cibler la prise P3...proposition des methodes de base 1 2 3.

    2 (en bleu) d'obtenir sinon des erzats des methodes de base qui exécuteraient la méthode sur la prise choisi

    method1d_entree(int px) {
    px.method1()
    }

    exemple: method1 sur la prise p2 si on a entré method1(2)
    method2 sur la prise p3 si on a entré method2(3)

    Nom : 3.JPG
Affichages : 88
Taille : 69,7 Ko

    Je pense qu'il existe une façon mais je crois faire fausse piste ou avoir fait une (grosse) erreur (ou deux) de conception quelque part
    Si l'un de vous pouvez me remettre sur le bon chemin ou me filer un tips, je vous en remercie (énormément) d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Pour la tentative 1, ton histoire de "proposer des méthodes" n'a pas beaucoup de sens. Proposer à qui et comment cette personne ou cette chose indique-t-elle son choix ? Il faudrait deux paramètre : la prise et la méthode voulue... Mais c'est un peu bête. Si on a choisi de faire des méthodes différentes, c'est justement qu'on a pas choisi de faire ça avec un paramètre.

    Pour la tentative 2, c'est clairement la solution (avec la syntaxe RMI).
    Reste à voir comment la mettre en œuvre. Pas avec px.method1(), en effet, parce que px est un int et pas une Prise.
    Mais il suffit d'obtenir l'objet Prise qui porte ce numéro et d'appeler la méthode method1() sur cet objet. Pas bien difficile, n'est-ce pas ?

    Si tu as un grand nombre de méthodes method1(), method2(), ..., method19(), eh ben... Tant pis pour toi . Il n'y a pas de solution très réaliste en RMI et Java normal ne propose pas de moyen de connaître le nom de la méthode en cours (ce qui aurait permis au moins de copier/coller N fois le même code.)
    Une idée serait de rassembler autant que possible ces méthodes de sorte d'en avoir un peu moins, et de différencier les différentes actions à l'aide de paramètres au lieu de méthodes différentes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ok merci pour cet éclaircissement.
    ça m'enlève déjà un gros doute super

    Je vais m'appliquer à la solution "bleue"

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

Discussions similaires

  1. Appeler une methode d'un Objet C# à partir du Xaml suite à un click
    Par Aquatiques dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 14/06/2008, 14h37
  2. Réponses: 2
    Dernier message: 19/05/2006, 15h53
  3. Réponses: 1
    Dernier message: 15/05/2006, 18h43
  4. [debutant]appeler une methode d'un autre document
    Par la7su dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2005, 10h22
  5. Réponses: 2
    Dernier message: 15/08/2005, 20h54

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