Redge3
Messages postés5Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention25 mai 2006
-
24 mai 2006 à 18:26
Redge3
Messages postés5Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention25 mai 2006
-
25 mai 2006 à 12:07
Bonsoir,
Voilà ma question :
Quel est l'intérêt d'avoir recours aux modules de classes ? Dit autrement : des deux solutions ci-dessous, laquelle est la meilleure ?
1) dans un module normal, je crée :
Type Voiture
Nom As String
Largeur en pixel
Hauteur As Long
Vitesse As Long
CompteurVitesse As Long
X As Long
Y As Long
End Type
2) Je crée un module de classe et j'écris exactement la même chose.
La finalité, c'est d'éviter de passer par des tableaux ARRAY et de faire un petit jeu qui soit otpimisé.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 24 mai 2006 à 18:34
Faire un Type Voituer et feire une classe Voiture va radicalement changer ta facon de programmer.
Avec un Type, tu devras faire des truc du genre ...
Sub Accelerer(V As Voiture)
V.Vitesse = V.Vitesse + 10
End Sub
Tu créeras ensuite uen var de type Voiture ....
Dim V As Voiture
et tu la fera accelerez par ....
Call Accelerer(V)
Avec une classe Voiture, tu ajouteras une méthode Accelerer à ta classe ...
Sub Accelerer()
Vitesse = Vitesse + 10
End Sub
et ensuite tu créeras une instance de ta classe ...
Dim V As New Voiture
... et tu lui feras mettre la gomme en faisant ...
V.Accelerer
La version en Classe est plus "simple" car l'utilisation des méthodes et des propriétés des instances est plus simple.
Et puis si tu dois gérer toutes les F1 d'un grand prix, tu devras faire un tableau de type Voiture ou une collection d'objet Voiture. Avec la collection, tu pourras faire des boucles For Each, ce qui ne sera pas possible sur un tableau de type Voiture.
Bref, la solution Classe a bcp d'avantage à mon avis .... Même si cela n'est pas la solution la plus rapide en terme de temps d'execution mais avec des objets de ce type, c'est peanuts !!!
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 24 mai 2006 à 19:17
Les modules de classe t'amèneront à repenser ton code pour l'orienter vers une programmation objet petit à petit.
La POO (programmation orientée objet) est l'évolution logique de la programmation fonctionnelle du temps du BASIC.
Sans le savoir, tu utilise quotidiennement des modules de classes (un simple commandbutton par exemple est, dans sa structure même, un module de classe (sous forme de contrôle, mais ca ne change rien au principe)).
Je te conseille vivement de passer par les modules de classe moi aussi car tu comprendras au fil du temps toutes les possibilités que cela t'ouvre au niveau réutilisation du code et encapsulation des données !