J'ai créé une classe qui contient une collection d'une autre classe. Comment
puis-je faire pour que la sous-classe puisse accéder à certaines propriétés
de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser des
variables publiques ?
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
tissot.emmanuel
Bonjour,
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de l'instancier directement tu passe par la méthode Add de la classe mère. Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test() Set x = New NomClasseMere Set z = x.Add MsgBox z.NomGamin MsgBox z.Parent.NbGamins End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize() Set LesGamins = New Collection End Sub
Public Function Add() As NomClasseFille Dim Gamin As NomClasseFille Set Gamin = New NomClasseFille LesGamins.Add Gamin Set Gamin.Parent = Me Set Add = Gamin End Function
Property Get NbGamins() As Long NbGamins = LesGamins.Count End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize() clsNomGamin = "Raoul ou Barnabé?" End Sub
Property Get NomGamin() As String NomGamin = clsNomGamin End Property Property Let NomGamin(Bapteme As String) clsNomGamin = Bapteme End Property
Property Set Parent(Maman As NomClasseMere) Set clsParent = Maman End Property Property Get Parent() As NomClasseMere Set Parent = clsParent End Property
Cordialement,
Manu/ "Patrick" a écrit dans le message de news:
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe. Comment puis-je faire pour que la sous-classe puisse accéder à certaines propriétés de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser des variables publiques ?
Merci.
-- Patrick
Bonjour,
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de
l'instancier directement tu passe par la méthode Add de la classe mère.
Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir
pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test()
Set x = New NomClasseMere
Set z = x.Add
MsgBox z.NomGamin
MsgBox z.Parent.NbGamins
End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize()
Set LesGamins = New Collection
End Sub
Public Function Add() As NomClasseFille
Dim Gamin As NomClasseFille
Set Gamin = New NomClasseFille
LesGamins.Add Gamin
Set Gamin.Parent = Me
Set Add = Gamin
End Function
Property Get NbGamins() As Long
NbGamins = LesGamins.Count
End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize()
clsNomGamin = "Raoul ou Barnabé?"
End Sub
Property Get NomGamin() As String
NomGamin = clsNomGamin
End Property
Property Let NomGamin(Bapteme As String)
clsNomGamin = Bapteme
End Property
Property Set Parent(Maman As NomClasseMere)
Set clsParent = Maman
End Property
Property Get Parent() As NomClasseMere
Set Parent = clsParent
End Property
Cordialement,
Manu/
"Patrick" <Patrick@discussions.microsoft.com> a écrit dans le message de
news: 4F901040-1F91-4559-9D01-DCDEE98BBECC@microsoft.com...
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe.
Comment
puis-je faire pour que la sous-classe puisse accéder à certaines
propriétés
de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser
des
variables publiques ?
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de l'instancier directement tu passe par la méthode Add de la classe mère. Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test() Set x = New NomClasseMere Set z = x.Add MsgBox z.NomGamin MsgBox z.Parent.NbGamins End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize() Set LesGamins = New Collection End Sub
Public Function Add() As NomClasseFille Dim Gamin As NomClasseFille Set Gamin = New NomClasseFille LesGamins.Add Gamin Set Gamin.Parent = Me Set Add = Gamin End Function
Property Get NbGamins() As Long NbGamins = LesGamins.Count End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize() clsNomGamin = "Raoul ou Barnabé?" End Sub
Property Get NomGamin() As String NomGamin = clsNomGamin End Property Property Let NomGamin(Bapteme As String) clsNomGamin = Bapteme End Property
Property Set Parent(Maman As NomClasseMere) Set clsParent = Maman End Property Property Get Parent() As NomClasseMere Set Parent = clsParent End Property
Cordialement,
Manu/ "Patrick" a écrit dans le message de news:
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe. Comment puis-je faire pour que la sous-classe puisse accéder à certaines propriétés de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser des variables publiques ?
Merci.
-- Patrick
Patrick
Merci beaucoup pour toutes ces explications. C'est exactement ce dont j'avais besoin.
-- Patrick
"tissot.emmanuel" wrote:
Bonjour,
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de l'instancier directement tu passe par la méthode Add de la classe mère. Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test() Set x = New NomClasseMere Set z = x.Add MsgBox z.NomGamin MsgBox z.Parent.NbGamins End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize() Set LesGamins = New Collection End Sub
Public Function Add() As NomClasseFille Dim Gamin As NomClasseFille Set Gamin = New NomClasseFille LesGamins.Add Gamin Set Gamin.Parent = Me Set Add = Gamin End Function
Property Get NbGamins() As Long NbGamins = LesGamins.Count End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize() clsNomGamin = "Raoul ou Barnabé?" End Sub
Property Get NomGamin() As String NomGamin = clsNomGamin End Property Property Let NomGamin(Bapteme As String) clsNomGamin = Bapteme End Property
Property Set Parent(Maman As NomClasseMere) Set clsParent = Maman End Property Property Get Parent() As NomClasseMere Set Parent = clsParent End Property
Cordialement,
Manu/ "Patrick" a écrit dans le message de news:
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe. Comment puis-je faire pour que la sous-classe puisse accéder à certaines propriétés de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser des variables publiques ?
Merci.
-- Patrick
Merci beaucoup pour toutes ces explications. C'est exactement ce dont j'avais
besoin.
--
Patrick
"tissot.emmanuel" wrote:
Bonjour,
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de
l'instancier directement tu passe par la méthode Add de la classe mère.
Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir
pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test()
Set x = New NomClasseMere
Set z = x.Add
MsgBox z.NomGamin
MsgBox z.Parent.NbGamins
End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize()
Set LesGamins = New Collection
End Sub
Public Function Add() As NomClasseFille
Dim Gamin As NomClasseFille
Set Gamin = New NomClasseFille
LesGamins.Add Gamin
Set Gamin.Parent = Me
Set Add = Gamin
End Function
Property Get NbGamins() As Long
NbGamins = LesGamins.Count
End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize()
clsNomGamin = "Raoul ou Barnabé?"
End Sub
Property Get NomGamin() As String
NomGamin = clsNomGamin
End Property
Property Let NomGamin(Bapteme As String)
clsNomGamin = Bapteme
End Property
Property Set Parent(Maman As NomClasseMere)
Set clsParent = Maman
End Property
Property Get Parent() As NomClasseMere
Set Parent = clsParent
End Property
Cordialement,
Manu/
"Patrick" <Patrick@discussions.microsoft.com> a écrit dans le message de
news: 4F901040-1F91-4559-9D01-DCDEE98BBECC@microsoft.com...
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe.
Comment
puis-je faire pour que la sous-classe puisse accéder à certaines
propriétés
de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser
des
variables publiques ?
Merci beaucoup pour toutes ces explications. C'est exactement ce dont j'avais besoin.
-- Patrick
"tissot.emmanuel" wrote:
Bonjour,
Lorsque tu as besoin d'une nouvelle instance de la classe fille au lieu de l'instancier directement tu passe par la méthode Add de la classe mère. Au besoin tu peux ajouter des paramètres à la méthode Add et t'en servir pour initialiser les propriétés de la classe fille.
Dans un module standard:
Dim x As NomClasseMere, z As NomClasseFille
Sub Test() Set x = New NomClasseMere Set z = x.Add MsgBox z.NomGamin MsgBox z.Parent.NbGamins End Sub
Dans la classe mere:
Dim LesGamins As Collection
Private Sub Class_Initialize() Set LesGamins = New Collection End Sub
Public Function Add() As NomClasseFille Dim Gamin As NomClasseFille Set Gamin = New NomClasseFille LesGamins.Add Gamin Set Gamin.Parent = Me Set Add = Gamin End Function
Property Get NbGamins() As Long NbGamins = LesGamins.Count End Property
Dans la classe fille:
Dim clsNomGamin As String, clsParent As NomClasseMere
Private Sub Class_Initialize() clsNomGamin = "Raoul ou Barnabé?" End Sub
Property Get NomGamin() As String NomGamin = clsNomGamin End Property Property Let NomGamin(Bapteme As String) clsNomGamin = Bapteme End Property
Property Set Parent(Maman As NomClasseMere) Set clsParent = Maman End Property Property Get Parent() As NomClasseMere Set Parent = clsParent End Property
Cordialement,
Manu/ "Patrick" a écrit dans le message de news:
Bonjour,
J'ai créé une classe qui contient une collection d'une autre classe. Comment puis-je faire pour que la sous-classe puisse accéder à certaines propriétés de sa classe-mère sans lui transmettre comme paramètres ou sans utiliser des variables publiques ?