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

NetBeans Java Discussion :

Methodes pour creer des getters et setters depuis une selection dans l'editeur


Sujet :

NetBeans Java

  1. #1
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut Methodes pour creer des getters et setters depuis une selection dans l'editeur
    Bin voila je suis nostalgiques de Eclipse lorsque je n'arrive pas à trouver la fonction creat getters and setters du ménu contexte déroulant (clic droit)

    j'ai essayé de faire 'extract method..' lorsque je sélectionne une variable dans l'editeur mais une erreur me dit 'selection invalid'...

    2 questions dans ce cas..

    Methodes pour creer des getters et setters depuis une selection dans l'editeur ?

    Je sais (car je l'ai déjà fait) qu'il est possible que l'éditeur génére la création de variables locales ou de l'objet en selectionnant des arguments du constructeur ou d'une fonction...et meme de les attribuer aux variables générés pour par exemple les initialiser lors de l'appel au constructeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class {
    type this.arg1_généré //généré par l'éditeur
    type this.arg2_généré //généré par l'éditeur
    Constructeur ( type arg1,type arg2)
    {
    this.arg1_généré=arg1;
    this.arg2_généré=arg2
    }
    en général la création met souvent un attriobut privatre à ces variables...

    merci de ce rafraichissement de mémoire...un reset doit etre passé par là

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Expert éminent sénior


    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
    Points : 11 101
    Points
    11 101
    Par défaut
    En effet. On a mis cela dans la FAQ car ceux qui viennent d'Eclipse sont généralement perdu. Tu viens encore une fois de le démontrer.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  4. #4
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut
    Merci vous !

    je n'avais en effet chercher que dans le forum avec la fonction recherche...

  5. #5
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Et pour faire l'inverse ? Pour transformer une interface de getters et setters en classe en rajoutant les champs et en transformant tous les appels ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  6. #6
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut
    La tu dois surement avoir une idée derrière la tete mais laisse te dire que ce n'est pas une forme de programmation idéale que tout programmeur s'efforce de s'appliquer...

    en effet, dans une classe on préférera utiliser les methodes getx() setx() pour agir sur les variables ...et pourquoi utiliser cette manière plutot que d'agir sur les variables.et bien pour plus de flexibilité et de possibilité de changement lors de modif sur une prog. en effet lors d'appel herité ou encore dans les interactions entre plusieurs classe et une interface par exemple, il sera beaucoup plus facile de modifier les actions à effectuer sur la variable que de le faire directement dans la classe d'appel...je m'explique

    Lorsque tu utilise des interfaces, elles font appel aux fonctions du meme nom des classes appelées...(dans notre exemple, les get et les set mais cela peut etre aussi les fonctions de gestion d'evenements comme une interface 'ecouteur'). une inteface pourra de cette manière lancer les fonction du mêm e nom mais de plusieurs classes différentes. Si chaque classe ou chaque objet doit avoir un comportement différent selon cette fonction, il te saura facile d'appliquer une code différent pour chaque classe (et donc pour chaque fonction) plutot que de detecter quelle classe est appelé et faire un switch pour savoir que faire sur la variable dans la classe appelante...

    en gros je ne sais pas pourquoi tu désires faire le raisonnement inverse a moins que tu n'ai qu'une interface et que tu désires créer la classe inexistante...mais en général on fait l'inverse..

    dans ce cas la une méthode qui pourrait marcher...c'est copier le code de l'interface ou encore mieux de la classe qui a générée l'interface puis de générer les variables...puis de redefinir si il faut les méthodes en question...normalement après la copie, des erreurs d'inexistance des variables devraient apparaitre de la il te sera facile de les créer (ptite ampoule rouge)...

    voila je pense que je n'ai saisi ton problème qu'a la fin du post mais si ca a pu t'aider ou aider d'autre personne je laisse le début

  7. #7
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut
    j'enleve le résolu pour que des gens viennent te donner de l'aide..

  8. #8
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Il y a aussi la fonction Override Methods du menu source dans la barre de menu.
    C'est utile pour générer n'importe qu'elle méthode de la classe parente sans que ce soit obligatoirement des méthodes abstraites, puis y a des options supplémentaire comme la génération de la doc, ...
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  9. #9
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    C'est à dire que effectivement je fais l'inverse de tout le monde. Mais, des fois, je fais aussi comme tout le monde.

    J'ai fait le raisonnement suivant. Il est franchement barbant d'écrire une interface avec des getters et des setters, puis d'écrire la classe correspondante, parce qu'il faut bien matérialiser l'interface.

    Alors j'ai écrit une petite classe qui simule automatiquement n'importe quelle interface avec ses accesseurs. Je n'écris plus que l'interface, la classe se crée à la volée.

    Cela marche bien, sauf que, au bout d'un moment, lorsque le programme prend de l'ampleur, il devient nécessaire de concrétiser vraiment la classe, pour assumer les traitements spécifiques (et imprévus) qui ne manquent pas d'apparaître.

    Et c'est là que je transforme mon interface en vraie classe...

    Mais ne vous inquietez pas, il y a aussi beaucoup de cas où je crée des interfaces pour me donner les moyens de diversifier la réalisation d'un contrat.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  10. #10
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut
    d'ac pour le raisonnement de la création barbante d'interface mais je ne vois pas pourquoi tu crées d'abord tes interfaces avant les classes vu que les interfaces sont des passerelles de communication entre classe...c'est comme parler sans propos , comme des mouvements de bouche sans que les mots sortent...

    sinon bien ouej nico pour le override c'est ce qui correspond je pense au besoin de gif

  11. #11
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Citation Envoyé par Ecosmose
    d'ac pour le raisonnement de la création barbante d'interface mais je ne vois pas pourquoi tu crées d'abord tes interfaces avant les classes vu que les interfaces sont des passerelles de communication entre classe...c'est comme parler sans propos , comme des mouvements de bouche sans que les mots sortent...
    Mais oui c'est presque ça...

    Au début, je repère un ensemble de valeurs qui correspondent à un traitement. Mais je ne sais pas toujours à quoi il correspond, ni même quel est son contour.

    La solution est soit d'insérer toutes ces valeurs dans une classe existante, même si ça correspond pas tout à fait, soit de créer une classe avec que des accesseurs en supposant que, plus tard, cela devienne plus solide.

    C'est dans le dernier cas que je me place ici. Créer simplement l'interface, avec un système pour créer la classe à la volée, me permet d'attendre au mieux que les choses prennent plus de maturité.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  12. #12
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Pour finir avec le refactoring, bien que vous avez deja surement vu ces fonctions mais sait on jamais, il ya Extract Interface et Extract SuperClass dans le menu Refactor du clic droit, qui respectivement permet de créer une interface ou une classe mere sur certaines bases de la classe courante !

    Par contre, je ne pige rien a votre discussion
    Juste qu'une interface, soit tu la crées, soit on t'oblige à l'utiliser
    Dans le premier cas, il est souvent intéressant de d'abord créer l'interface (pour les test unitaire par exemple) et de t'obliger à l'utiliser.

    n!co
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/08/2008, 21h34
  2. Réponses: 5
    Dernier message: 17/08/2006, 10h10
  3. logiciel gratuit pour creer des vcd
    Par dahan dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 21/04/2006, 13h27
  4. un script pour creer des frameset
    Par hebmaster dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2006, 14h57
  5. Faire un New pour creer des PictureBox à la volée ?
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/11/2005, 13h09

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