Creation de Méthodes java a la volée

Creation de Méthodes java a la volée - Java - Programmation

Marsh Posté le 18-09-2007 à 16:51:36    

Bonjour,
 
j'aimerais, à l'image d'un Calable ou d'un Runnable, stocker une action à exécuter dans un objet.
Seulement, j'aimerais que se soit trés simple d'écriture:
 
MaClasseAction actions = new MaClasseAction();
action.add('x=1+y');
action.add('...');
...
 
et plus tard, pouvoir faire action.exe()
 
Les Runnable sont trop verbeux pour moi... :-)
Merci pour vos idées
 

Reply

Marsh Posté le 18-09-2007 à 16:51:36   

Reply

Marsh Posté le 20-09-2007 à 10:58:23    

Y a des solutions... Je te propose de mieu exposer ton objetif et pb.
 
Donne un exemple de ce que tu veux faire, parceque dans l'exemple que tu viens de donner je ne vois pas trop l'interet d'une telle chose. En effet il te suffit de définir au moment venu la méthode add... vu que c'est en dur.
 
Après si tu souhaites donner le choix aux utilisateurs de rentrer ce qu'il veux...
Est ce que c'est toujours une formule math ?
Est ce que la formule peut intégrer des variables connu dans ton code ?

Reply

Marsh Posté le 20-09-2007 à 11:11:03    

nikles007 a écrit :

Bonjour,
 
j'aimerais, à l'image d'un Calable ou d'un Runnable, stocker une action à exécuter dans un objet.
Seulement, j'aimerais que se soit trés simple d'écriture:
 
MaClasseAction actions = new MaClasseAction();
action.add('x=1+y');
action.add('...');
...
 
et plus tard, pouvoir faire action.exe()
 
Les Runnable sont trop verbeux pour moi... :-)
Merci pour vos idées
 


C'est pas super verbeux un runnable (ou un Callable) quand on utilise des classes anonymes [:petrus75]
 

Code :
  1. import java.util.concurrent.Callable;
  2.  
  3. class Test {
  4.    public static void main(String[] args) throws Exception{
  5.        final String x = "pouet";
  6.        Callable<String> action = new Callable<String>() {
  7.            public String call() {
  8.                return x + " " + x + " fait le moustique";
  9.            }
  10.        };
  11.        System.out.println(action.call());
  12.    }
  13. }


$ java Test
pouet pouet fait le moustique


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-09-2007 à 14:27:02    

L'idée serait de stocker des bouts de code associé à certains objets pour faire de la "lazi évaluation" ... Une idée..

Reply

Marsh Posté le 16-10-2007 à 13:41:20    

"lazy evaluation" ? (avec un 'y')
Autrement dit, tu voudrais écrire des instructions Java qui ne soient pas compilées mais interprétées ? Ce n'est pas du JDK, même 6, ça (attendre le JDK7 ?).
Par contre, BeanShell fait ça sans problème depuis belle lurette.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed