Variables entre une class pére et fils [Résolu]

Signaler
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010
-
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010
-
Bonjour,



Je suis dans un petit problème :



J’ai une fenêtre qui va appeler différente
classe (communication, générateur de fichier XML, Gestion des I/O). Je considère
que la fenêtre qui crée les classes est la class Père du projet et les classes
qu’il crée sont les fils.



Pouvez-vous me dire comment un fils peut
lire/modifier des variables qui ont été crée par le Père ?



Merci d’avance de votre aide.

7 réponses

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
145
Bonjour

Pour ta solution avec ton main :
- Evite d'appeler ton formulaire "main" préfère plutot "FrmMain", cela évitera les confusions.
- Utilises un Module dans lequel tu déclare toutes la variables en Public, comme cela, pas de nouveau formulaire ouvert.

Sinon pour la technique avec les constructeur :

Dans la classe mère :

Dim lObj as MonObjet=neew MonObjet(.... , Me)

Et dans le constructeur :

private mParent as MonParent=Nothing

Public Sub New(... , byval pParent as MonParent)
    ...
    mParent=pParent
    ...
End sub

et pour l'utilisation :
If mParent isnot nothing Then 'Controle pour éviter les exceptions NullReferenceException
    mParent.x=y
End if

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
145
Bonjour

Faire référence à leurs père (ou à leur classe mère, toute une affaire de famille tout ça ), Dans le constructeur des classes, met à dispo un paramètre qui permet de définir le père (ou la mère).

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010

Je viens de tester quelque chose qui semble bien marcher.
Ma fenetre principale se nome "Main"

dans mes class fils, je fais ainsi : Main.Ma_variable = "quelque chose"

Qu'en penses-tu ?
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
145
Bonjour

C'est possible, une solution parmis tant d'autres, si tu la comprends mieux, utilises-la.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010

Oki, Merci beaucoup
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010

Autant pour moi, ça marche pas. Il quand je veux aller lire dans Main la variable Test par exemple, je fais actuellement ainsi : Main.Test. En réalité, il essays de relancer une nouvelle form Main.

Peux-tu me donner plus de détails sur ta méthode avec le constructeur ?

Merci beaucoup
Messages postés
129
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
4 mars 2010

Tu es mon souveur :p