Et oui je suis toujours dans la POO,je progresse doucement mais j'ai encore beaucoup de soucis .Comme avec le bout de code que je vous joint qui me pose problème.Ce n'est d'ailleurs pas a proprement parler la POO qui me soucie ici,mais l'instanciation de l'objet instrument, je ne sais pas comment transmettre un tableau comme argument au constructeur.Je vois joint également les 3 messages d'erreur qui vont avec.
Grand merci pour votre aide.
Papyclaude conscient d'être un peu nul sur ce coup la (c'est la chaleur)
Module Module1
'--------------------------------------------------------------------------------------- ' exercice tiré du livre Apprenez a programmer en VB.NET de Thomas MARTINET , page 246 '--------------------------------------------------------------------------------------- Sub Main()
Dim instrument = New Instruments
Console.Read()
End Sub
End Module
'-------------------------- ' Création de la classe Instruments '-------------------------- Public Class Instruments
Private _Notes() As Integer '------------------------------- ' Constructeur de la Class Instruments '------------------------------
Sub New(ByVal Notes() As Integer) _Notes = Notes
End Sub
Public Property Notes() As Integer
Get Return _Notes() End Get Set(value As Integer)
_Notes() = value
End Set End Property
End Class
'-------------------------- ' Création de la classe Guitare '--------------------------
Public Class Guitare
Inherits Instruments
Private _Nbcordes As Integer
'------------------------------- ' Constructeur de la Class Guitare '------------------------------
Sub New(ByVal Notes() As Integer, ByVal Nbcordes As Integer)
MyBase.New(Notes)
_Nbcordes = Nbcordes
End Sub
End Class
Et les messages d'erreurs.
67 ans : qui grace a vous tous qui m'aidez commence a comprendre la POO
Pour celà tu as plusieurs choix, soit tu déclares le tableau avant et tu le passes en argument comme n'importe quelle variable, soit tu déclare directement ton tableau en paramètre.
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a As Instruments = New Instruments(New Integer() {1, 2, 3})
Dim notes As Integer() = New Integer() {4, 5, 6}
Dim b As Instruments = New Instruments(notes)
End Sub
Public Class Instruments
''' J'oublie tout le temps que le VB.NET n'est pas sensible à la casse,
''' du coup je nomme mes variables un peu au pif
''' mais faut savoir que j'ai surtout l'habitude de la nomenclature du C#
Sub New(ByVal _notes As Integer())
Notes = _notes
End Sub
Public Property Notes As Integer()
End Class
End Class
Edit : Editeur WYSIWYG d'OpenClassroom, je te hais.
Merci pour ta réponse.Je me doutais un peu qu'il fallait faire quelque chose dans ce genre la.Je tournais autour depuis un bon moment , et malgré de nombreux essais , je ne n'avais pas trouvé comment faire.
Merci encore et bonne soirée.
Papyclaude
67 ans : qui grace a vous tous qui m'aidez commence a comprendre la POO
Encore et toujours la POO
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.