OVH Cloud OVH Cloud

Le père de "Me." est ?

14 réponses
Avatar
Julien
Lu all !

J'ai une classe et une sousclasse.
Dans cette dernière je souhaite accéder à un membre de la classe (donc sa
classe père (??! ;)).
Comment faire ?

Me.Father.MonMembre ? (non ça c idiot...)

Merci beaucoup.
Julien

10 réponses

1 2
Avatar
AlexC
Plusieurs solutions,

1 - Tu créé une propriété OwnerClass dans ta classe enfant, du type de
ta classe parent que tu renseigne lorsque tu instancie ta classe enfant
2 - Tu surcharge le constructeur de ta classe enfant en spécifiant un
paramètre de type de ta classe parent

Ensuite il te suffit d'utiliser OwnerClass dans ta classe enfant pour
pouvoir acceder aux objets de ta class parent.

Un exemple ?

Sotution 2 ( la mieux )

Imports System.Windows.Form
Public Class Papa

Private EnfantCLS as new Enfant(me)

Public Sub Salut()
MessageBox.Show("Salut les gens ! ", Salutations")
End Sub



End Class

Public Class Enfant

Private GOwnerClass as Papa

Public Sub New(OwnerClass as Papa)
MyBase.New()
GOwnerClass = OwnerClass
End Sub
Private Sub ExecuteSalutSubPapa()
GOwnerClass.Salut()
End Sub
End Class

AlexC

"Julien" a écrit dans le message de news:
crjc4r$1blr$
Lu all !

J'ai une classe et une sousclasse.
Dans cette dernière je souhaite accéder à un membre de la classe (donc sa
classe père (??! ;)).
Comment faire ?

Me.Father.MonMembre ? (non ça c idiot...)

Merci beaucoup.
Julien




Avatar
Julien
Merci Alex, je ne voyais pas les choses comme ça.
En effet, j'ai déclarer ma classe enfant à l'intérieur de ma classe Papa,
cela-t-il déconseillé ?
Donc Papa est rééllement le père de Enfant. Ne puis-je pas y accéder comme
ça ?

Sinon, merci pour l'exemple je peux faire ça en effet.

"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:OtuPsF$
Plusieurs solutions,

1 - Tu créé une propriété OwnerClass dans ta classe enfant, du type de
ta classe parent que tu renseigne lorsque tu instancie ta classe enfant
2 - Tu surcharge le constructeur de ta classe enfant en spécifiant un
paramètre de type de ta classe parent

Ensuite il te suffit d'utiliser OwnerClass dans ta classe enfant pour
pouvoir acceder aux objets de ta class parent.

Un exemple ?

Sotution 2 ( la mieux )

Imports System.Windows.Form
Public Class Papa

Private EnfantCLS as new Enfant(me)

Public Sub Salut()
MessageBox.Show("Salut les gens ! ", Salutations")
End Sub



End Class

Public Class Enfant

Private GOwnerClass as Papa

Public Sub New(OwnerClass as Papa)
MyBase.New()
GOwnerClass = OwnerClass
End Sub
Private Sub ExecuteSalutSubPapa()
GOwnerClass.Salut()
End Sub
End Class

AlexC

"Julien" a écrit dans le message de news:
crjc4r$1blr$
> Lu all !
>
> J'ai une classe et une sousclasse.
> Dans cette dernière je souhaite accéder à un membre de la classe (donc


sa
> classe père (??! ;)).
> Comment faire ?
>
> Me.Father.MonMembre ? (non ça c idiot...)
>
> Merci beaucoup.
> Julien
>
>




Avatar
Patrick Philippot
Julien wrote:
J'ai une classe et une sousclasse.
Dans cette dernière je souhaite accéder à un membre de la classe
(donc sa classe père (??! ;)).
Comment faire ?



Bonjour,

Et MyBase?

"
The MyBase keyword behaves like an object variable referring to the base
class of the current instance of a class. MyBase is commonly used to
access base class members that are overridden or shadowed in a derived
class. In particular, MyBase.New is used to explicitly call a base class
constructor from a derived class constructor.

It is invalid to use MyBase to call MustOverride base methods.

"

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
AlexC
Mybase est pour appeler les membres de la classe de laquelle on herite
pas pour appeler les membres de la classe "Parent"

"Patrick Philippot" a écrit dans le
message de news: eOUznU$
Julien wrote:
J'ai une classe et une sousclasse.
Dans cette dernière je souhaite accéder à un membre de la classe
(donc sa classe père (??! ;)).
Comment faire ?



Bonjour,

Et MyBase?

"
The MyBase keyword behaves like an object variable referring to the base
class of the current instance of a class. MyBase is commonly used to
access base class members that are overridden or shadowed in a derived
class. In particular, MyBase.New is used to explicitly call a base class
constructor from a derived class constructor.

It is invalid to use MyBase to call MustOverride base methods.

"

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr



Avatar
Patrick Philippot
AlexC wrote:
Mybase est pour appeler les membres de la classe de laquelle on herite
pas pour appeler les membres de la classe "Parent"



Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe
et sous-classse: héritage ou agrégation?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Zoury
>> Me.Father





Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe
et sous-classse: héritage ou agrégation?



selon son exemple de code (utopique ;O) ) j'opterais pour l'agrégation.. :O)

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
AlexC
Je ne suis pas sur de la définition de l'agréation mais ca doit etre ca, vu
qu'il ne s'agit pas, dans le cas de Julien, d'un héritage
Je t'ai peut etre induit en erreur avec le Mybase que j'ai mit dans mon
exmple ( qui soit dit en passant ne sert à rien).

"Patrick Philippot" a écrit dans le
message de news: ukhodw$
AlexC wrote:
Mybase est pour appeler les membres de la classe de laquelle on herite
pas pour appeler les membres de la classe "Parent"



Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe et
sous-classse: héritage ou agrégation?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr



Avatar
AlexC
pourquoi utopique ?

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: ODStb0$
Me.Father





Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe
et sous-classse: héritage ou agrégation?



selon son exemple de code (utopique ;O) ) j'opterais pour l'agrégation..
:O)

--
Cordialement
Yanick
MVP pour Visual Basic




Avatar
Zoury
je ne parlais pas de ton code mais de celui de Julien.

disons que son "Me.Father" m'a fait sourrire.. :O)

--
Cordialement
Yanick
MVP pour Visual Basic
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:e$oXj3$
pourquoi utopique ?

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: ODStb0$
>>> Me.Father
>
>> Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe
>> et sous-classse: héritage ou agrégation?
>
> selon son exemple de code (utopique ;O) ) j'opterais pour l'agrégation..
> :O)
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
>
>




Avatar
AlexC
lol ! Ok :)

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
je ne parlais pas de ton code mais de celui de Julien.

disons que son "Me.Father" m'a fait sourrire.. :O)

--
Cordialement
Yanick
MVP pour Visual Basic
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:e$oXj3$
pourquoi utopique ?

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: ODStb0$
>>> Me.Father
>
>> Bon, je n'ai pas dû suivre: qu'est-ce que Julien veut dire avec classe
>> et sous-classse: héritage ou agrégation?
>
> selon son exemple de code (utopique ;O) ) j'opterais pour
> l'agrégation..
> :O)
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
>
>








1 2