begin process at 2012 02 16 15:10:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Trucs & Astuces

 > 

Que choisir : "Property Get" ou "Function" ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Que choisir : "Property Get" ou "Function" ?

jeudi 18 septembre 2008 à 08:45:16 | Que choisir : "Property Get" ou "Function" ?

PROGRAMMIX

Bonjour,

Je recommence à programmer en tentant l'utilisation de classes et collection.

En tapant mon code à plusieurs jours d'intervalle, je me suis rendu compte que j'avais créé les procédures suivantes :

Public Function NbreParAn(Optional ByVal annee As String) As Integer
    Dim a As clsAccident
    Dim x As Integer
    If annee = "" Then
        x = maCollection.Count
    Else
        For Each a In maCollection
            If Year(a.Jour) = annee Then
                x = x + 1
            End If
        Next
    End If
    NbreParAn = x
End Function

Public Property Get NbreAccidentsGrave() As Integer
    NbreAccidentsGrave = variableNbreAccidentGrave
End Property

La question est donc la suivante : quand utiliser/préférer une propriété à une fonction ?

N'étant pas encore un routinier des modules de classe, merci de répondre "comme si j'avais 5 ans".


Programmix
jeudi 18 septembre 2008 à 09:09:41 | Re : Que choisir : "Property Get" ou "Function" ?

Renfield

Administrateur CodeS-SourceS
c'est question perso...
en gros, de ce "qui se fait"...

tes dex exemples seraient a mettre en Property.
En gros, si dans le nom tu mettrais un verbe autre que GET ou LET ... ben c'est une fonction.

fondamentalement, y'a aucune difference...

jeudi 18 septembre 2008 à 09:24:15 | Re : Que choisir : "Property Get" ou "Function" ?

PROGRAMMIX

Tu dis que mes deux exemples seraient à mettre en Property, mais dans le cas d'une recherche par année, je suis obligé de passer une variable.  Or peut-on passer une variable à une Property Get ?

Programmix
jeudi 18 septembre 2008 à 21:02:39 | Re : Que choisir : "Property Get" ou "Function" ?

Kevin.Ory

Salut,
Moi il me semble qu'il y a une règle qui semble suivie dans le framework, et que j'utilise moi-même:

- Un Property Get permet de récupérer une valeur (normalement très rapide)
- Une Fonction effectue une tâche puis renvois un résultat (normalement plutôt lent)

Mais il est clair que quelque-fois ce concept peut être confus...


jeudi 18 septembre 2008 à 21:06:04 | Re : Que choisir : "Property Get" ou "Function" ?

Kevin.Ory

"Or peut-on passer une variable à une Property Get ?"
Non si ce n'est un index ou une clé, qui sera aussi présente pour le Let et qui est utilisé pour accéder à des collections.

Tu parle de recherche, c'est donc pour moi typiquement le 2ème cas de mon message précédent: une fonction.
jeudi 18 septembre 2008 à 23:56:23 | Re : Que choisir : "Property Get" ou "Function" ?

thierry la fronde

Membre Club
Réponse acceptée !
On utilise les property pour récupérer (ou modifier) la valeur une DONNEE  membre de la classe.
On utilisera une fonction pour un traitement ou un calcul particulier.

De plus la propriété permet de modifier la valeur de la donnée membre de la classe de manière simple. Ce qui n'est pas le rôle d'une fonction
L'idée étant que toutes les données membres d'une classe sont private et inaccessible (principe d'un langage objet). Pour accéder aux valeurs de ces données membres, on utilisera donc une propriété (property)
Ceci dit VB6 n'est pas un langage objet, VB.NET si.


thierry la fronde
vendredi 19 septembre 2008 à 16:52:27 | Re : Que choisir : "Property Get" ou "Function" ?

PROGRAMMIX

Merci pour toutes ces info complémentaires qui confortent ce que je pensais.

Programmix


Cette discussion est classée dans : function, annee, get, property, if


Répondre à ce message

Sujets en rapport avec ce message

Transmission d'un tableau par property get [ par jeffb ] Bonjour,comment peut on passer un tableau par l'intermédaire d'un property get et comment peut on le récupèrer avec asp?merci de vos réponses. Function, Sub, Property, quelles différences ? [ par GlanduSchmoldu ] Je n'ais jusqu'à présent utilisé que des fonctions dans mes programmes, mais j'aimerais savoir les avantages et inconvenients des sub et property, not Création d'attributs sur controle [ par Emcy ] Bonjours, j'ai créer un composant à partir du controle Label. Je voudrais ajouter les propriétés Grid.X et Grid.YLe code ci-dessous fonctionne (j'arri Property Get & Let ??????? [ par Ophidian ] Salut !Quand on fait un controle soi-meme, on peut lui appliquer différentes propriétés (ex : Pour une PictureBox, on a les propriétés suivantes : pic Property Get & Let dans un OCX [ par glg ] J'aimerai proposer dans cette procédure une liste de valeurs définies sous forme de liste dans l'ocx.L'exemple de visualbasic n'est pas très claire. Polymorphisme en VB6 [ par moot1983 ] Bonjour,J'essaie actuellement de réaliser une interface en VB6 mais j'ai un message d'erreur à la compilation. Je n'ai jamais fait ça en VB alors je m Property [ par forum_ma ] Private group As Integer = 3(...)<System.Com erreur dans l'addition [ par andregoub ] Bonjourj'ai fait un petit Programme en me servant de l'objet class j'ai une erreur au niveau de l'addition au lieu d'additionnerle résultat est exempl un For Each que ne fonctionne pas avec une collection maison ! [ par EMMANUELTAVE ] bonsoir, Je transforme une application VB6 en VB2005 : Ouf je m'acroche !voici ma classe de base : rien de tres .....< withEvents [ par lispo ] Bonjour a tous,J 'ai crée une classe cercle(Vba AutoCad)mais je voudrais lui attribuer un evenement(ex: apparition d'un msgbox)voila comment j'ai fait


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,947 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales