cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 2011
-
18 sept. 2008 à 08:45
cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 2011
-
19 sept. 2008 à 16:52
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".
cs_thierry la fronde
Messages postés351Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention12 août 2009 18 sept. 2008 à 23:56
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.
cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 20112 18 sept. 2008 à 09:24
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 ?
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 18 sept. 2008 à 21:02
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...
Vous n’avez pas trouvé la réponse que vous recherchez ?