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

VB.NET Discussion :

GET et SET (Creation d'objet)


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut GET et SET (Creation d'objet)
    Bonjour,

    Je suis à la recherche d'un outil, d'une astuce, bref de quelque chose qui pourrait créer automatiquement les GET et les SET lors de la création d'une class.

    Ce type d'outil existe sous Eclipse pour Java.

    Est-il possible d'envisager la même chose pour VB.NET ?

    Bien sur les declarations à la mimine sont possible, mais si les attributs sont nombreux ... bonjour les crampes, sans parler des oublis et autres erreurs de saisie.....

    Merci de vos réponses

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Menu contextuel sur la variable membre -> Refactor --> Encapsulate field

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Tu peux utiliser les "Snipet"

    Tu tapes "Property" puis Tab et l'IDE ajoute le reste.
    Il y a aussi "Propread" pour les read only etc..

    Regarde dans la liste des snipets, il y en bcp et tu peux toi même en ajouter.

    @+

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut GET et SET (Creation d'objet) suite....
    Merci de cette réponse, mais le menu contextuel ne m'apporte pas cette option.

    D'autre part "Property" ne m'interesse pas : la double déclaration des variables n'est pas très élégant.

    Renseignement, peut être important : j'utilise VB 2008

    Voici ce que j'aimerais obtenir :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    Public Class Compte
     
        Dim CptNumCpt As String     'Numero du Compte
        Dim CptNumFct As String     'Numero de facture (en Charge ou en Produit)
        Dim CptNumCmp As String     'Numero de Compostage
        Dim CptDteOpe As Date       'Date de l'opération
        Dim CptLblCpt As String     'Libelle de l'operation
        Dim CptMontnt As Single     'montant de l'operation
     
        '**********************************************
        ' Constructeur incluant tous les attributs pour la
        ' saisie des informations
        '**********************************************
        Public Sub New(ByVal CptNumCpt As [String], _
                       ByVal CptNumFct As [String], _
                       ByVal CptNumCmp As [String], _
                       ByVal CptDteOpe As Date, _
                       ByVal CptLblCpt As [String], _
                       ByVal CptMontnt As Single)
            Me.CptNumCpt = CptNumCpt
            Me.CptNumFct = CptNumFct
            Me.CptNumCmp = CptNumCmp
            Me.CptDteOpe = CptDteOpe
            Me.CptLblCpt = CptLblCpt
            Me.CptMontnt = CptMontnt
        End Sub
     
        '**********************************************
        ' Constructeur pour la création d'un compte
        '**********************************************
        Public Sub New(ByVal CptNumCpt As String)
            Me.CptNumCpt = CptNumCpt
        End Sub
     
     
        '**********************************************
        ' Les GET commencent ici, pour récuperer 
        ' les valeurs du compte "en cours"
        '**********************************************
     
        Public Function GetCptNumCpt() As [String]
            Return CptNumCpt
        End Function
     
        Public Function GetCptNumFct() As [String]
            Return CptNumFct
        End Function
     
        Public Function GetCptNumCmp() As [String]
            Return CptNumCmp
        End Function
     
        Public Function GetCptDteOpe() As Date
            Return CptDteOpe
        End Function
     
        Public Function GetCptLblCpt() As [String]
            Return CptLblCpt
        End Function
     
        Public Function GetCptMontnt() As Single
            Return CptMontnt
        End Function
        '**********************************************
        ' Les GET finissent ici !
        '**********************************************
     
        '**********************************************
        ' Les SET commencent ici, pour attribuer une
        ' valeur au compte "en cours"
        '**********************************************
        Public Sub setCptNumCpt(ByVal CptNumCpt As [String])
            Me.CptNumCpt = CptNumCpt
        End Sub
     
        Public Sub setCptNumFct(ByVal CptNumFct As [String])
            Me.CptNumFct = CptNumFct
        End Sub
     
        Public Sub setCptNumCmp(ByVal CptNumCmp As [String])
            Me.CptNumCmp = CptNumCmp
        End Sub
     
        Public Sub setCptDteOpe(ByVal CptDteOpe As Date)
            Me.CptDteOpe = CptDteOpe
        End Sub
     
        Public Sub setCptLblCpt(ByVal CptLblCpt As [String])
            Me.CptLblCpt = CptLblCpt
        End Sub
     
        Public Sub setCptMontnt(ByVal CptMontnt As Single)
            Me.CptMontnt = CptMontnt
        End Sub
        '**********************************************
        ' Les SET finissent ici !
     
        '**********************************************
     
    End Class
    à partir de cela :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Public Class Compte
     
        Dim CptNumCpt As String     'Numero du Compte
        Dim CptNumFct As String     'Numero de facture (en Charge ou en Produit)
        Dim CptNumCmp As String     'Numero de Compostage
        Dim CptDteOpe As Date       'Date de l'opération
        Dim CptLblCpt As String     'Libelle de l'operation
        Dim CptMontnt As Single     'montant de l'operation
     
        '**********************************************
        ' Constructeur incluant tous les attributs pour la
        ' saisie des informations
        '**********************************************
        Public Sub New(ByVal CptNumCpt As [String], _
                       ByVal CptNumFct As [String], _
                       ByVal CptNumCmp As [String], _
                       ByVal CptDteOpe As Date, _
                       ByVal CptLblCpt As [String], _
                       ByVal CptMontnt As Single)
            Me.CptNumCpt = CptNumCpt
            Me.CptNumFct = CptNumFct
            Me.CptNumCmp = CptNumCmp
            Me.CptDteOpe = CptDteOpe
            Me.CptLblCpt = CptLblCpt
            Me.CptMontnt = CptMontnt
        End Sub
     
        '**********************************************
        ' Constructeur pour la création d'un compte
        '**********************************************
        Public Sub New(ByVal CptNumCpt As String)
            Me.CptNumCpt = CptNumCpt
        End Sub
     
    End Class

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par faroukvazaha Voir le message
    Merci de cette réponse, mais le menu contextuel ne m'apporte pas cette option.
    Normalement si. Quelle version de VS utilises tu ?
    Citation Envoyé par faroukvazaha Voir le message
    D'autre part "Property" ne m'interesse pas : la double déclaration des variables n'est pas très élégant

    Ce qui n'est pas élégant du tout c'est de rendre publiques des variables membres !!!!

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Bah oui c'est tout môche.
    Les propriétés doivent être encaspulées dans ta classe, il n'y a pas de double déclaration, le property n'est qu'un accesseur.

    L'encapsulation te garantie que la variable locale ne peut être manipulé à l'extérieur de la classe que via l'accesseur.

    Et puis là ta classe ne va être qu'un paquet de méthodes, c'est dommage.

    Non ?

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Oh ... en plus j'avais pas vu les accesseurs façon java

    Un conseil : passe un coup de FxCop

    Si tes variables ne sont affectées que par le constructeur, mets les en ReadOnly. Dans ce cas, la propriété générée par le refactoring sera elle aussi readonly. Et vire ces méthodes accesseurs, c'est immonde.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Va voir là :

    http://msdn2.microsoft.com/fr-fr/lib...hc(VS.80).aspx

    Tu as toute la marche à suivre pour créér une classe en .Net.
    C'est juste une nouvelle habitude à prendre.
    .Net t'offre d'autres possibilités, ce serait dommage de passer à coté.

    @+

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

Discussions similaires

  1. probleme de creation d'objet cristal report
    Par sam_12_3 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 03/04/2006, 13h58
  2. creation d'objet de classe a partir de string
    Par mencaglia dans le forum C++
    Réponses: 1
    Dernier message: 14/03/2006, 09h56
  3. [debutant] Creation d'objet au fur et a mesure
    Par jamesleouf dans le forum Débuter
    Réponses: 8
    Dernier message: 14/03/2006, 00h06
  4. Lancer des shell unix pour creation d'objet ORACLE
    Par sygale dans le forum Administration
    Réponses: 6
    Dernier message: 27/10/2004, 18h03
  5. Créer les get et set des classes
    Par cameleon2002 dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h03

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