alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 2008
-
29 nov. 2006 à 10:12
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
29 nov. 2006 à 15:32
bonjour,
imaginons 3 classes : C0, C1 (qui est dévivée de C0) et C2 (qui est dévivée de C1).
si j'ai bien compris, la difference principale entre "Shadows" et "Overrides" ce situe au niveau de l'hériatge.
si dans C1 j'"Overrides" 1 procedure et que j'en "Shadows" 1 seconde :
=> la procedure Overridée aurait la meme definition dans C2 que C1 mais pas que dans C0
=> la procedure Shadowée aurait la meme definition dans C2 que C0 mais pas que dans C1
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 29 nov. 2006 à 15:32
Mmh, je suis pas d'accord, Overrides ne modifie rien dans la classe parente.
Exemple :
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim y As New Yop, lbl As New Label
MsgBox(y.ToString() & " " & lbl.ToString)
End Sub
End Class
Public Class Yop
Inherits Windows.Forms.Label
Private Overrides Function ToString() As String
Return "Yopyop"
End Function
End Class
Ce code affichera "Yopyop System.Windows.Forms.Label, Text:"
Le code du ToString du Label est bien conservé et exécuté !