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 :

[Language]Equivalent à l'instruction Delphi "with"


Sujet :

Langage Java

  1. #1
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut [Language]Equivalent à l'instruction Delphi "with"
    Bonjour,

    j'ai juste une petite question. J'ai fait du Delphi avant d'apprendre le Java et j'utilisais souvent l'instruction "with" qui me permettait d'effectuer plusieurs opérations sur un même objet sans répéter à chaque fois le nom de l'objet.

    J'aimerais savoir s'il y a un équivalent au "with" en Java.

    Merci de vos réponses.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  2. #2
    Membre actif Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Points : 253
    Points
    253
    Par défaut
    Bonjour,
    je ne connais pas "with", mais présenté comme ça... non !

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Je ne sais pas si c'est ce dont tu parle (jamais fait de Delphi) mais tu peut faire un truc dans ce genre pour enchainer les méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String s ="du texte";
    boolean b = s.toString().equals("du texte");
    Dans cet exemple, tu appelles d'abord la méthode toString() de s puis la méthode equals() sur le résultat de l'appel précédent.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre actif Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par le y@m's
    Je ne sais pas si c'est ce dont tu parle (jamais fait de Delphi) mais tu peut faire un truc dans ce genre pour enchainer les méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String s ="du texte";
    boolean b = s.toString().equals("du texte");
    Dans cet exemple, tu appelles d'abord la méthode toString() de s puis la méthode equals() sur le résultat de l'appel précédent.
    Oui, mais là tu n'appelles pas des méthodes sur le même objet
    Bon on en sera plus si on tombe sur un adepte Delphi/Java ou s'il repasse d'ici là !

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par xxaragornxx
    Oui, mais là tu n'appelles pas des méthodes sur le même objet
    Oui je sais, mais comme je ne connais pas le delphi (et donc ce que FloMo attend exactement), j'ai donné ce qui me semble le plus proche de sa description , ceci dit tu as raison de souligner ce point.

    Bon on en sera plus si on tombe sur un adepte Delphi/Java ou s'il repasse d'ici là !
    l'appel est lancé
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre habitué Avatar de dr00w
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 116
    Points : 136
    Points
    136
    Par défaut
    Si tu donne un exemple en Delphi on va peut-être comprendre ce que tu veux.

  7. #7
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Il me semble qu'il n'y a pa d'equivelant "with" en java. Je pense que ca amenerait une ambiguite.

    Imagine que tu ais fait un with et que tu appeles une methode a(). Sur quoi est applique la methode, l'objet avec le with ou sur l'objet "this" ? Le probleme se pose surtout si les deux objet on une methode a() mais le fond du probleme est le meme.

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ahh, c'est donc une abreviation syntaxique. La meme chose qu'un import ou un static import mais sur un objet bien specifique (pour eviter de taper monObjet. a chaque appel de methode ou acces a des membres).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je pense que ca amenerait une ambiguite.
    Euh non (en tout cas pas plus que les import ou un static import). Si le compilateur est capable de prevenir de l'ambiguite alors la maniere de la lever serait de tout simplement ecrire completement monObjet.maMethode() ou this.maMethode() au lieu de maMethode(). Donc exactement le meme principe qu'actuellement en cas de collision de noms de classes ou de constantes importees.

    Mais bon, non, a ma connaissance Java ne supporte pas ce genre de choses (pour le moment).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut Re
    Le with fonctionne ainsi :

    with monobjet do
    begin
    .ma_methode(param);
    .ma_methode2();
    .ma_propriete = truc;
    end

    etc...

    Ainsi, ça évite de faire :

    monobjet.ma_methode(param);
    monobjet.ma_methode2();
    monobjet.ma_propriete = truc;

    Le but est juste d'éclaircir le code.

    Merci d'avance.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  10. #10
    Membre habitué Avatar de dr00w
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 116
    Points : 136
    Points
    136
    Par défaut
    Je vois, c'est bien. Et non pas d'équivalence en java.

  11. #11
    Membre actif

    Inscrit en
    Mai 2002
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 328
    Points : 209
    Points
    209
    Par défaut
    en Java 5, tu as les imports statiques qui permettent de faire appel à des méthodes statiques sans avoir à répéter la classe... mais c'est tout, pas de "with" en Java

    Toine

  12. #12
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Merci à tous pour vos réponses.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  13. #13
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Citation Envoyé par bouye
    Si le compilateur est capable de prevenir de l'ambiguite [...]
    c'est qu'il y a une ambiguite alors...

  14. #14
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Tout a fait ; ce que tu peux faire deja en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import java.util.*;
    import javax.sql.*;
     
    ...
     
    Date date = ....
    Apres celon on peut faire comme toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    import java.util.Date;
    import java.util.Calendar;
    import java.util.List;
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
    import ..........................
     
    ...
     
    Date date = ....
    ou comme moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import java.util.*;
    import javax.sql.*;
     
    ...
     
    java.util.Date date = ....
    Le meme probleme se pose avec les imports statiques.

    Note : de mon point de vue les deux solutions se valent largement et je ne cherche pas a denigrer celle que je n'utilise pas.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  15. #15
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    En fait, je fais exactement comme toi. Ce que je voulais souligner c'est que l'interet d'un "with" est de ne pas mettre tout le blabla avant la methode, donc si il faut remettre le blabla pour lever l'ambiguite sur l'objet utilise, alors je ne vois pas l'interet d'un with ( peut etre pour ca qu'il n'existe pas d'ailleurs )

  16. #16
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Oups desole alors, j'ai confondu avec qqun d'autre qui avait indique qu'il preferai toujours detailler tous ses imports pour eviter les conflits justement.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  17. #17
    Membre actif Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par bouye
    Oups desole alors, j'ai confondu avec qqun d'autre qui avait indique qu'il preferai toujours detailler tous ses imports pour eviter les conflits justement.
    Il me semble qu'il y a aussi un petit gain de temps à la compilation... A vérifier...

  18. #18
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    C'est probable car la resolution du nom de la classe est plus simple et directe pour le compilateur. Quoi que le gain doit aussi etre probablement peu visible (si on code de facon normale et pas en faisant des sources de classes de 500Ko et si l'API ne contient pas 2 millions de classes dans 3000 packages...).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. [Language]Equivalent Java des pointeurs de fonctions du C/C++
    Par Thierry Chappuis dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 15h14
  2. Equivalent du TPanel du Delphi en C++ ?
    Par Frederic dans le forum MFC
    Réponses: 1
    Dernier message: 29/10/2005, 01h30
  3. [TP] Equivalent de l'instruction read en mode graphique
    Par bkadje dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 28/06/2005, 23h04

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