TP 7 - Question 1

Programmation Avancée

Modérateur : Douin

karsenty
Messages : 29
Inscription : 09 oct. 2017 22:30

TP 7 - Question 1

Message par karsenty » 16 déc. 2017 23:03

Bonjour,

j'ai besoin de votre aide, car je ne comprends pas le concept de singleton.

Ce que je comprends c'est qu'il y a une classe TableMethodesJavaLangMath(), mais je ne comprends pas comment je l’appelle ?

Pour "cetteMethodeEstPresente", je ne sais pas comment appeler la classe java.lang.Math. J'imagine que ce Singleton doit servir à ça ?
Dans le cours nous avons vu a chaque fois un appel sur une classe et la, c'est un appel sur une méthode qu'il faut réaliser.

Voila comment j'appelle :

Code : Tout sélectionner

public boolean cetteMethodeEstPresente(String nomDeLaMéthode) {
      boolean resu;
      resu=false;
      Class<?> cl = Class.forName(TableMethodesJavaLangMath()); 
      for (Method m : cl.getDeclaredMethods()) {
          System.out.println("=> " + m.getName());
          if (m.getName()=="cos(double)") {
               resu=true;
        }
      return resu; 
  }
Merci de votre aide.

ps:J'ai l'impression de perdre de plus en plus le fil.

ideligniere
Messages : 8
Inscription : 08 oct. 2017 23:08

Re: TP 7 - Question 1

Message par ideligniere » 16 déc. 2017 23:46

Bonjour,

Sauf erreur de ma part, le singleton permet de créer une instance unique de la classe TableMethodesJavaLangMath dans la classe Calculette.

Il faut commencer par ajouter toutes les méthodes qui ont pour arguments des types double (et uniquement ce type) et retournent un type double de la classe java.lang.Math dans la Map TableDesMethodes.
Pour tester si la méthode est présente, il suffit ensuite de vérifier si elle est dans la Map.

Sinon, la méthode forName attend un String qui est le nom de la classe cf. doc oracle : https://docs.oracle.com/javase/7/docs/a ... Class.html
J'espère vous avoir un peu aidé.

karsenty
Messages : 29
Inscription : 09 oct. 2017 22:30

Re: TP 7 - Question 1

Message par karsenty » 17 déc. 2017 14:13

Merci effectivement je viens de m'attaquer à "listeDesMethodes" qui m'affiche maintenant mes fonctions doubles.

Donc au final, le singleton ne me sert à rien ?

bcalendreau
Messages : 36
Inscription : 07 oct. 2017 20:27

Re: TP 7 - Question 1

Message par bcalendreau » 17 déc. 2017 23:45

Un singleton est une classe qui ne peut avoir qu'une seule instance (donc le constructor est private, et faut définir une méthode pour l'instanciation qui vérifie si une instance existe déjà ou pas).
Il n'y a rien à faire dans la question 1, puisque tout est déjà prévu pour le singleton.

karsenty
Messages : 29
Inscription : 09 oct. 2017 22:30

Re: TP 7 - Question 1

Message par karsenty » 18 déc. 2017 22:15

ok merci

Bonne soirée

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité