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

Affichage des résultats du sondage: Êtes-vous pour ou contre cette proposition ?

Votants
349. Vous ne pouvez pas participer à ce sondage.
  • Pour la proposition 1

    102 29,23%
  • Pour la proposition 2

    10 2,87%
  • Pour la proposition 3

    11 3,15%
  • Contre

    226 64,76%
Langage Java Discussion :

JDK 7: Proposition 13 : Accès aisé aux propriétés [Débat]


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut JDK 7: Proposition 13 : Accès aisé aux propriétés
    Accès aisé aux propriétés

    Proposition 1 :
    En utilisation le point comme séparateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p.forename = "Stephen";   // calls setter
    String str = p.forename;  // calls getter
    Proposition 2 :
    En utilisant => comme séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p=>forename = "Stephen";   // calls setter
    String str = p=>forename;  // calls getter
    Proposition 3 :
    En utilisant # comme séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Person {
     public property String forename;
     public property int age;
    }
    Person p = new Person();
    p#forename = "Stephen";   // calls setter
    String str = p#forename;  // calls getter

  2. #2
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 171
    Par défaut
    Et pourquoi pas appelé la méthode setAge() définit implicitement?

  3. #3
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par défaut
    clairement contre, tant que c'est ajouter un nouveau mot clé, ou pire les => ou # en accesseurs.

    (et puis bon, comment on fait avec les annotations qui se placent sur les méthodes apres @Required de spring, les annotation jpa etc...)

    modifier le langage pour remplacer quelque chose qui se fait en 3 secondes avec un ide, je trouve ca inutile

  4. #4
    Membre confirmé Avatar de austin P.
    Inscrit en
    Juin 2004
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2004
    Messages : 182
    Par défaut
    contre

    n'apporte pas grand chose et je ne trouve pas la lecture plus clair

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pour la 1, si on peut continuer à utiliser les getter/setter
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    pour la 1 (existe en c# et est très pratique).

  7. #7
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    si on fait çà, en plus des getter/setter automatique, quel serais le véritable avantage sur un membre public ??

  8. #8
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Contre,

    Encore une fois un sucre syntaxique pas très utile (on économise 6 caractères, quelle fête) par contre on perd beaucoup en lisibilité.. sans compter les gens qui avaient déjà du mal a faire des set/get au lieu d'un champ public, si l'appel est le même elles vont se donner encore moins de mal pour faire les choses proprement.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  9. #9
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Aucune proposition vraiment satisfaisante.

  10. #10
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Rien d'assez interessant pour mériter de chambouler ce qui a été fait avant. Comparé aux avancées vraiment pratiques du JDK5, ca fera trop de changement peu utile qui masquera les réelles avancées, si il y en a.

  11. #11
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Contre.

    On utilise un attribut public si on veut faire ça.
    Pour moi, ça viole le principe du JavaBean

  12. #12
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Citation Envoyé par woodwai Voir le message
    Contre.

    On utilise un attribut public si on veut faire ça.
    Pour moi, ça viole le principe du JavaBean
    Il faut bien comprendre que ce n'est qu'une astuce du compilateur et que le code final est le même. Vous appellerez le getter/setter de façon transparente c'est tout. Le JavaBean peut donc retirer sa plainte pour viol

  13. #13
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Contre aussi.

  14. #14
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    J'ai voté pour la proposition #1, mais après réflexion, j'aurais plutôt dû voter contre
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  15. #15
    Membre éclairé
    Avatar de Floréal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 456
    Par défaut
    Cela permet il, comme en .Net d'écrire du code que peut impliquer l'accès à de telle propriété?
    exemple bidon, pour compter les accès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Toto
    {
      private int compteur;
      private String uneChaine_;
      public property String uneChaine {
        get { compteur++; return uneChaine_; }
        set { compteur++; uneChaine_ = uneChaine; }
      }
    }

  16. #16
    Membre confirmé Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Par défaut
    Je préfère la 1 car ça ressemble à ce que j'ai connu quand je développais des composants graphiques avec C++ Builder. Je pouvais utiliser les propriétés directement comme une variable (comme dans la proposition 1 quoi).

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Par défaut
    Contre

    si le champ est privé je ne vois pas pourquoi on devrait pouvoir y avoir accés grace ou point ou autre.

    Ajouter une syntaxe complexifierai de facon inutile JAVA.

    De plus le "." ne nous indique pas si on peut ou pas modifier la valeur alors qu'avec un set ou un get ...

    Surtout que de nos jours avec les IDE et l'autocompletion...

  18. #18
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    maval.x = maval1.y+maval2.z;
     
    maval.setX(maval1.getY() + maval2.getZ());
    Quel est le plus lisible selon vous?

  19. #19
    Membre très actif
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Par défaut
    Contre en tout points
    Comme bien des gens ont dit,
    Cela rendrait la lecture du code assez hasardeuse à mon avis.
    De plus, si on prend l'approche éducative des getters/setters et attributs de classes privés, ceci instituerait à mon sens un risque accru d,utilisation de mauvaises pratiques de conception....

    Ce n'est que mon avis, je ne sais à quel point il est juste

  20. #20
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    100% CONTRE

Discussions similaires

  1. Zone de liste, accès aux propriétés par code
    Par AndréPe dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/02/2007, 10h41
  2. Réponses: 4
    Dernier message: 22/12/2005, 11h43
  3. [Problème] Accès aux propriétés de listes nommées avec []
    Par VincentL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2005, 16h13
  4. Accès aux propriétés ScrollBar d'un composant TMemo
    Par fausto dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/10/2003, 11h08
  5. Accés rapide aux propriétés d'un Objet
    Par Alacazam dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2002, 21h56

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