je demande de l'aide pour créer et utiliser 2 classes. Touts les tutos que
j'ai trouvé parle théoriquement de la POO qui m'a aidé beaucoup mais j'en ai
besoin d'un exemple pour commencer :(
j'ai une classe Produit avec les attributs datecreation, dateexecution,
dureedevie et ordre. ses methodes sont executer(), ajouter(), lire(),
modifier et AvoirDonnee() qui est de type DataProduit (c'est exactement ici
que je me perd)
ma deuxième classe est alors DataProduit avec que des attributs :
datecreation, dateexecution, dureedevie, ordre et id !
Pour la classe DataProduit :
Public Class DataProduit
Public _datecreation As Date
Public _dateexecution As Date
Public _dureedevie As Integer
Public _ordre As Integer
Public _id As Integer
End Class
Pour la classe Produit : (et c'est ici que j'aurais besoin d'aide)
Public Class Produit
Public datecreation As Date
Public dateexecution As Date
Public dureedevie As Integer
Public ordre As Integer
Public ReadOnly Property AvoirDonnee() As DataProduit
Get
?????
End Get
End Property
comment puis je alors implementer AvoirDonnee ? doit elle être une Property
ou une sub ? comment affecter au variables de mon produit, le DataProduit !
bref dans le code (sub load par exemple) je vex aboutir à ça :
Dim MyObject as DataProduit 'de la classe DataProduit
Dim MyProduit as Produit 'de la class Produit
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut ! :O)
Public Class DataProduit Public _datecreation As Date Public _dateexecution As Date Public _dureedevie As Integer Public _ordre As Integer Public _id As Integer End Class Public Class Produit Public datecreation As Date Public dateexecution As Date Public dureedevie As Integer Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas exister car elle duplique les infos de la classe Produit. Les propriétés d'un produit sont elles même les données d'un produit d'où, à mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe en privée et ensuite expose ses attributs via des propriétés publiques, Ex : '*** ' on met NotInheritable si la classe ne ' se fait pas dérivée Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée ' cela nous assure que seule notre classe y aura accès Private _nID as Int32 Private _dtCreation As DateTime Private _dtExecution As DateTime Private _nDureeVie As Int32 Private _nOrdre As Int32
' et on autre pour initialiser les valeurs Public Sub New(ByVal nID As Int32, _ ByVal dtCreation As DateTime, _ ByVal dtExecution As DateTime, _ ByVal nDureeVie As Int32, _ ByVal nOrdre As Int32) _nID = nID _dtCreation = dtCreation _dtExecution = dtExecution _nDureeVie = nDureeVie _nOrdre = nOrdre End Sub
' ici on déclare les propriétés de notre classe, elles peuvent ' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set ' ou même pas exposé du tout, comme le ID par exemple Public ReadOnly Property DateCreation() As DateTime Get Return _dtCreation End Get End Property
Public ReadOnly Property DateExecution() As DateTime Get Return _dtExecution End Get End Property
Public ReadOnly Property DureeVie() As Int32 Get Return _nDureeVie End Get End Property
Public ReadOnly Property Ordre() As Int32 Get Return _nOrdre End Get End Property
' les fonctions viennent ici..
End Class '***
Je ne sais pas si c'est plus clair ?
-- Cordialement Yanick MVP pour Visual Basic
Salut ! :O)
Public Class DataProduit
Public _datecreation As Date
Public _dateexecution As Date
Public _dureedevie As Integer
Public _ordre As Integer
Public _id As Integer
End Class
Public Class Produit
Public datecreation As Date
Public dateexecution As Date
Public dureedevie As Integer
Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas
exister car elle duplique les infos de la classe Produit.
Les propriétés d'un produit sont elles même les données d'un produit d'où, à
mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe
en privée et ensuite expose ses attributs via des propriétés publiques, Ex :
'***
' on met NotInheritable si la classe ne
' se fait pas dérivée
Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée
' cela nous assure que seule notre classe y aura accès
Private _nID as Int32
Private _dtCreation As DateTime
Private _dtExecution As DateTime
Private _nDureeVie As Int32
Private _nOrdre As Int32
' et on autre pour initialiser les valeurs
Public Sub New(ByVal nID As Int32, _
ByVal dtCreation As DateTime, _
ByVal dtExecution As DateTime, _
ByVal nDureeVie As Int32, _
ByVal nOrdre As Int32)
_nID = nID
_dtCreation = dtCreation
_dtExecution = dtExecution
_nDureeVie = nDureeVie
_nOrdre = nOrdre
End Sub
' ici on déclare les propriétés de notre classe, elles peuvent
' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set
' ou même pas exposé du tout, comme le ID par exemple
Public ReadOnly Property DateCreation() As DateTime
Get
Return _dtCreation
End Get
End Property
Public ReadOnly Property DateExecution() As DateTime
Get
Return _dtExecution
End Get
End Property
Public ReadOnly Property DureeVie() As Int32
Get
Return _nDureeVie
End Get
End Property
Public ReadOnly Property Ordre() As Int32
Get
Return _nOrdre
End Get
End Property
Public Class DataProduit Public _datecreation As Date Public _dateexecution As Date Public _dureedevie As Integer Public _ordre As Integer Public _id As Integer End Class Public Class Produit Public datecreation As Date Public dateexecution As Date Public dureedevie As Integer Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas exister car elle duplique les infos de la classe Produit. Les propriétés d'un produit sont elles même les données d'un produit d'où, à mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe en privée et ensuite expose ses attributs via des propriétés publiques, Ex : '*** ' on met NotInheritable si la classe ne ' se fait pas dérivée Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée ' cela nous assure que seule notre classe y aura accès Private _nID as Int32 Private _dtCreation As DateTime Private _dtExecution As DateTime Private _nDureeVie As Int32 Private _nOrdre As Int32
' et on autre pour initialiser les valeurs Public Sub New(ByVal nID As Int32, _ ByVal dtCreation As DateTime, _ ByVal dtExecution As DateTime, _ ByVal nDureeVie As Int32, _ ByVal nOrdre As Int32) _nID = nID _dtCreation = dtCreation _dtExecution = dtExecution _nDureeVie = nDureeVie _nOrdre = nOrdre End Sub
' ici on déclare les propriétés de notre classe, elles peuvent ' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set ' ou même pas exposé du tout, comme le ID par exemple Public ReadOnly Property DateCreation() As DateTime Get Return _dtCreation End Get End Property
Public ReadOnly Property DateExecution() As DateTime Get Return _dtExecution End Get End Property
Public ReadOnly Property DureeVie() As Int32 Get Return _nDureeVie End Get End Property
Public ReadOnly Property Ordre() As Int32 Get Return _nOrdre End Get End Property
' les fonctions viennent ici..
End Class '***
Je ne sais pas si c'est plus clair ?
-- Cordialement Yanick MVP pour Visual Basic
404 found
Merci yannick, cela est plus clair pour moi !
En fait pour la duplication des classes, j'ai récupéré un diagramme UML que je dois respecter puis qu'il a été fait par des "Pro" et où il y a ces 2 classes
pour plus de clareté, voila à quoi ressemble la partie dont je veux code
> Public Class DataProduit > Public _datecreation As Date > Public _dateexecution As Date > Public _dureedevie As Integer > Public _ordre As Integer > Public _id As Integer > End Class > Public Class Produit > Public datecreation As Date > Public dateexecution As Date > Public dureedevie As Integer > Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas exister car elle duplique les infos de la classe Produit. Les propriétés d'un produit sont elles même les données d'un produit d'où, à mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe en privée et ensuite expose ses attributs via des propriétés publiques, Ex : '*** ' on met NotInheritable si la classe ne ' se fait pas dérivée Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée ' cela nous assure que seule notre classe y aura accès Private _nID as Int32 Private _dtCreation As DateTime Private _dtExecution As DateTime Private _nDureeVie As Int32 Private _nOrdre As Int32
' et on autre pour initialiser les valeurs Public Sub New(ByVal nID As Int32, _ ByVal dtCreation As DateTime, _ ByVal dtExecution As DateTime, _ ByVal nDureeVie As Int32, _ ByVal nOrdre As Int32) _nID = nID _dtCreation = dtCreation _dtExecution = dtExecution _nDureeVie = nDureeVie _nOrdre = nOrdre End Sub
' ici on déclare les propriétés de notre classe, elles peuvent ' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set ' ou même pas exposé du tout, comme le ID par exemple Public ReadOnly Property DateCreation() As DateTime Get Return _dtCreation End Get End Property
Public ReadOnly Property DateExecution() As DateTime Get Return _dtExecution End Get End Property
Public ReadOnly Property DureeVie() As Int32 Get Return _nDureeVie End Get End Property
Public ReadOnly Property Ordre() As Int32 Get Return _nOrdre End Get End Property
' les fonctions viennent ici..
End Class '***
Je ne sais pas si c'est plus clair ?
-- Cordialement Yanick MVP pour Visual Basic
Merci yannick, cela est plus clair pour moi !
En fait pour la duplication des classes, j'ai récupéré un diagramme UML que
je dois respecter puis qu'il a été fait par des "Pro" et où il y a ces 2
classes
pour plus de clareté, voila à quoi ressemble la partie dont je veux code
http://www.vbcity.com/forums/attachment.asp?id120
en te remerciant encore :)
"Zoury" a écrit :
Salut ! :O)
> Public Class DataProduit
> Public _datecreation As Date
> Public _dateexecution As Date
> Public _dureedevie As Integer
> Public _ordre As Integer
> Public _id As Integer
> End Class
> Public Class Produit
> Public datecreation As Date
> Public dateexecution As Date
> Public dureedevie As Integer
> Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas
exister car elle duplique les infos de la classe Produit.
Les propriétés d'un produit sont elles même les données d'un produit d'où, à
mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe
en privée et ensuite expose ses attributs via des propriétés publiques, Ex :
'***
' on met NotInheritable si la classe ne
' se fait pas dérivée
Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée
' cela nous assure que seule notre classe y aura accès
Private _nID as Int32
Private _dtCreation As DateTime
Private _dtExecution As DateTime
Private _nDureeVie As Int32
Private _nOrdre As Int32
' et on autre pour initialiser les valeurs
Public Sub New(ByVal nID As Int32, _
ByVal dtCreation As DateTime, _
ByVal dtExecution As DateTime, _
ByVal nDureeVie As Int32, _
ByVal nOrdre As Int32)
_nID = nID
_dtCreation = dtCreation
_dtExecution = dtExecution
_nDureeVie = nDureeVie
_nOrdre = nOrdre
End Sub
' ici on déclare les propriétés de notre classe, elles peuvent
' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set
' ou même pas exposé du tout, comme le ID par exemple
Public ReadOnly Property DateCreation() As DateTime
Get
Return _dtCreation
End Get
End Property
Public ReadOnly Property DateExecution() As DateTime
Get
Return _dtExecution
End Get
End Property
Public ReadOnly Property DureeVie() As Int32
Get
Return _nDureeVie
End Get
End Property
Public ReadOnly Property Ordre() As Int32
Get
Return _nOrdre
End Get
End Property
En fait pour la duplication des classes, j'ai récupéré un diagramme UML que je dois respecter puis qu'il a été fait par des "Pro" et où il y a ces 2 classes
pour plus de clareté, voila à quoi ressemble la partie dont je veux code
> Public Class DataProduit > Public _datecreation As Date > Public _dateexecution As Date > Public _dureedevie As Integer > Public _ordre As Integer > Public _id As Integer > End Class > Public Class Produit > Public datecreation As Date > Public dateexecution As Date > Public dureedevie As Integer > Public ordre As Integer
Pourquoi veux-tu créer deux classes identiques ?
Il me semble que la classe DataProduit est de trop... elle ne devrais pas exister car elle duplique les infos de la classe Produit. Les propriétés d'un produit sont elles même les données d'un produit d'où, à mon avis, l'inutilité de la classe DataProduit...
Si tu veux faire une bonne encapsulation, déclare les attributs de la classe en privée et ensuite expose ses attributs via des propriétés publiques, Ex : '*** ' on met NotInheritable si la classe ne ' se fait pas dérivée Public NotInheritable Class Produit
' on déclare les attributs de la classe en privée ' cela nous assure que seule notre classe y aura accès Private _nID as Int32 Private _dtCreation As DateTime Private _dtExecution As DateTime Private _nDureeVie As Int32 Private _nOrdre As Int32
' et on autre pour initialiser les valeurs Public Sub New(ByVal nID As Int32, _ ByVal dtCreation As DateTime, _ ByVal dtExecution As DateTime, _ ByVal nDureeVie As Int32, _ ByVal nOrdre As Int32) _nID = nID _dtCreation = dtCreation _dtExecution = dtExecution _nDureeVie = nDureeVie _nOrdre = nOrdre End Sub
' ici on déclare les propriétés de notre classe, elles peuvent ' être ReadOnly, WriteOnly ou read/write soit avec un Get et un Set ' ou même pas exposé du tout, comme le ID par exemple Public ReadOnly Property DateCreation() As DateTime Get Return _dtCreation End Get End Property
Public ReadOnly Property DateExecution() As DateTime Get Return _dtExecution End Get End Property
Public ReadOnly Property DureeVie() As Int32 Get Return _nDureeVie End Get End Property
Public ReadOnly Property Ordre() As Int32 Get Return _nOrdre End Get End Property