[JAVA] Avis et surtout critiques sur mon prog Java SVP

Avis et surtout critiques sur mon prog Java SVP [JAVA] - Programmation

Marsh Posté le 17-06-2002 à 14:00:27    

J'ai fait mon appli : classe Chat avec un main
et mon interface : classe AppChat
je fais "frame = new AppChat(this);" dans le constructeur de Chat. Mais pour avoir accès aux textFields de l'interface, j'ai déclaré une variable d'instance frame de type AppChat.
 
Est-ce que c'est une bonne métode ou alors c'est pas propre?

Reply

Marsh Posté le 17-06-2002 à 14:00:27   

Reply

Marsh Posté le 17-06-2002 à 14:03:57    

De même j'utilise des threads qui traitent les clients.
Et pour accéder aux méthodes de ma classe Chat j'ai pas trouvé d'autres moyens que de déclarer une variable d'instance "leChat" de type Chat et de passer this dans le constructeur de ma thread.
Ensuite je fais leChat.traiterReponse();
 
Ca me parait pas top mais je vois pas comment faire?

Reply

Marsh Posté le 17-06-2002 à 14:15:29    

shinji a écrit a écrit :

De même j'utilise des threads qui traitent les clients.
Et pour accéder aux méthodes de ma classe Chat j'ai pas trouvé d'autres moyens que de déclarer une variable d'instance "leChat" de type Chat et de passer this dans le constructeur de ma thread.
Ensuite je fais leChat.traiterReponse();
 
Ca me parait pas top mais je vois pas comment faire?  




 
Tu déclares une interface qui définit une méthode traiterReponse(). Tu utilises cette interface dans le constructeur de ta thread. Ton programme implémente l'interface et passe this lorqu'il instancie la thread.
 
C'est la solution la plus propre (on appelle ca un callback)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-06-2002 à 14:17:46    

DarkLord a écrit a écrit :

 
 
Tu déclares une interface qui définit une méthode traiterReponse(). Tu utilises cette interface dans le constructeur de ta thread. Ton programme implémente l'interface et passe this lorqu'il instancie la thread.
 
C'est la solution la plus propre (on appelle ca un callback)  



:jap:

Reply

Marsh Posté le 17-06-2002 à 14:18:40    

Merci, bon ben ok si c'est la méthode la plus propre
C'est pareil pour l'interface ?

Reply

Marsh Posté le 17-06-2002 à 14:24:18    

:heink:
 
ta méthode n'est pas propre du tout. L'interface oui. T'avais compris quoi?
 
 :heink:


Message édité par darklord le 17-06-2002 à 14:25:04

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-06-2002 à 14:26:51    

ha ok j'avais pas bien compris, merci. Je vais tacher de changer ça.
Merci encore

Reply

Marsh Posté le 17-06-2002 à 14:29:10    

Code :
  1. public interface Callback {
  2.       public void traiterReponse(arguments);
  3. }
  4. public class MonThread {
  5.    public MonThread(Callback cb, autres arguments) {..
  6. }
  7. public class MainAppli implements Callback {
  8.        //..
  9.        MonThread thread1 = new MonThread(this, ....);
  10. }


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-06-2002 à 14:35:09    

Nickel, merci :)

Reply

Marsh Posté le 17-06-2002 à 14:36:54    

les noms sont pas top je te laisse choisir :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-06-2002 à 14:36:54   

Reply

Marsh Posté le 18-06-2002 à 10:52:11    

Je pense que j'ai besoin d'explications sur le callback .
 
Dans l'interface callback je met uniquement la déclaration de traiterReponse() et je laisse le code de traiterReponse dans MainAppli ?

Reply

Marsh Posté le 18-06-2002 à 10:58:17    

shinji a écrit a écrit :

Je pense que j'ai besoin d'explications sur le callback .
 
Dans l'interface callback je met uniquement la déclaration de traiterReponse() et je laisse le code de traiterReponse dans MainAppli ?  




 
une interfance est juste là pour dire, l'objet que je vais te passer a telle fonctionnalités.
 
Si tu implémentes Callback tu es obligé d'implémenter TOUTES les signatures qui sont dedans.
 
Donc tu n'as pas le choix!
 
L'interface déclare l'aspect public
Ton appli l'implémente
Tu passe l'interface à ton thread et lui s'en fout de savoir quel objet est derrière. Tout ce qu'il l'intéresse c'est que la méthode traiterReponse est accessible. Tu pourrais très bien créer un objet séparé de ton appli et passer cet objet là (c'est un avantage d'ailleurs cette transparence).
 
je crois que t'aurais besoin d'un bon bouquin  ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 18-06-2002 à 10:59:11    

ah oui et peut etre un truc qui est pas hyper clair dans ma réponse, tu ne peux pas mettre de code dans une interface. Juste des signatures de méthode et des attributs "static final"


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 18-06-2002 à 11:02:16    

merci je m'en vais voir mon prof

Reply

Sujets relatifs:

Leave a Replay

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