Probleme POO et VB.net

Résolu
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012 - 1 déc. 2011 à 19:41
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012 - 3 déc. 2011 à 20:20
Bonsoir,

Je souhaite créer une application (En POO)"Musée" gérant diverse exposition contenant diverses œuvres chacune.

j'ai donc crée toutes mes classes
-Musée (contenant ses propriété et une collection d'exposition)
-Exposition (Contenant ses propriété et une collection d'Oeuvre)
-"Scuplture" et "peinture" qui hérite de "Oeuvre"

Quand je souhaite ajouter une œuvre a une exposition l'application me dit :
"La référence d'objet n'est pas définie à une instance d'un objet."

 
Dim oeuvre1 As New sculpture("Maternite IX", 2011, "musée", "bronze", 12.52)
 Dim expo1 As New Exposition
        expo1.Declare_expo("Moderne", "20-02-1991", "24-02-1991")
        expo1.Ajouter_Oeuvre(oeuvre1)


Ma methode est :

Public Sub Ajouter_Oeuvre(UneOeuvre As oeuvre)
        lesoeuvresexposes.Add(UneOeuvre)
    End Sub


Pouvez vous m'aider ?

8 réponses

NHenry Messages postés 15092 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 9 décembre 2023 158
2 déc. 2011 à 18:52
Bonjour,

Peux-tu au moins confirmer la ligne en cause ?
Regardes en Pas à pas pour voir quelle est exactement l'élément en cause.
Ma supposition est peut être fausse.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15092 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 9 décembre 2023 158
1 déc. 2011 à 20:23
Bonjour,

Une valeur n'a pas été initialisée.
Sans plus de précision, je suppose que c'est lesoeuvresexposes qui est à Nothing.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012
1 déc. 2011 à 21:14
C'est effectivement ca comment doit-je proceder pour que cela ne soit pas a "Nothing" ?
0
NHenry Messages postés 15092 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 9 décembre 2023 158
1 déc. 2011 à 21:58
Bonjour,

Il faut créer une instance de la classe.
Ne connaissant pas le type de la variable, je ne peux pas en dire plus.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012
2 déc. 2011 à 10:32
Merci, J'ai declaré comme ca :
Public Class Exposition

    Private intitule As String
    Private datedeb As DateTime
    Private datefin As DateTime
    Private nboeuvresexpos As Integer
    Private lesoeuvresexposes As Collection
0
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012
3 déc. 2011 à 19:12
C'est bon j'ai réussi en mettant = new collection au lieu de as collection
Merci
0
NHenry Messages postés 15092 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 9 décembre 2023 158
3 déc. 2011 à 19:18
Bonjour,

En .NET, on, a plutôt tendance à préférer les collections typées : List(Of ...)

Il faut faire attention à ce que Option Strict et Option Explicit soient à On dans les propriétés de ton projet.
Car sinon, ta variable serait de type Object et cela ne rassure pas le codage.

Regardes le point 3 de ma signature.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
tomreizorb Messages postés 24 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 12 avril 2012
3 déc. 2011 à 20:20
Dac merci !
0
Rejoignez-nous