Bonjour à tous,

Voilà, je fais un programme en essayant de suivre les règles de la programmation object.

J'ai une classe 1 avec des champs et des propriétés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
 
'CHamps Class1
        Protected _TotalMass As Double             'Total mass
 
        Protected _NSM_LF As Double                'Non suspended mass
        Protected _NSM_RF As Double
        Protected _NSM_LR As Double
        Protected _NSM_RR As Double
 
'Propriété Classe 1
        Public Property TotalMass As Double
            Get
                Return _TotalMass
            End Get
            Set(ByVal value As Double)
                _TotalMass = value
            End Set
        End Property
 
        'NSM [kg]
        Public Property NSM_LF As Double
            Get
                Return _NSM_LF
            End Get
            Set(ByVal value As Double)
                _NSM_LF = value
            End Set
        End Property
 
        Public Property NSM_RF As Double
            Get
                Return _NSM_RF
            End Get
            Set(ByVal value As Double)
                _NSM_RF = value
            End Set
        End Property
 
        Public Property NSM_LR As Double
            Get
                Return _NSM_LR
            End Get
            Set(ByVal value As Double)
                _NSM_LR = value
            End Set
        End Property
 
        Public Property NSM_RR As Double
            Get
                Return _NSM_RR
            End Get
            Set(ByVal value As Double)
                _NSM_RR = value
            End Set
        End Property
Puis une classe 2 avec des propriétés calculé à partir de fonctions qui ont pour paramètres des "variables" de la classe 1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
'Fonction classe 2
 Private Function CalculateSM(ByVal p_TotalMass As Double, ByVal p_NSM_LF As Double, ByVal p_NSM_RF As Double,
                                 ByVal p_NSM_LR As Double, ByVal p_NSM_RR As Double) As Double
 
            Return p_TotalMass - (p_NSM_LF + p_NSM_RF + p_NSM_LR + p_NSM_RR)
 
        End Function
Pour cela, j'avais crée une héritage entre la classe 1 et 2, ainsi les paramètres des fonctions de la classe 2 était les champs de la classe 1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
'Function classe2 sans paramètres...?
        Public ReadOnly Property SM As Double
            Get
                Return CalculateSM()
            End Get
        End Property

Or quelqu'un qui me suit, me dis que c'est une mauvaise utilisation de l'héritage, et que je devrais (d'après ce que je comprend), communiquer entre les 2 classes grâce à une fonction...

Seulement là, je ne vois vraiment pas comment faire...