Conception objet - Constructeur
Bonjour,
Je fais un petit projet de gestion (très simple) de CDThèque, histoire de me familiariser avec l'objet, que je ne maîtrise pas.
Je me heurte à un petit problème d'objet tout bête...Mais comme je manque d'expérience, je fais appel aux spécialistes.
J'ai créé une classe "Song", qui contient les propriétés et méthodes liées à une chanson :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
private int _songId = "";
private string _songName = "";
//...
public int ID
{
get { return songId ; }
set { songId = value; }
}
public string Name
{
get { return _songName ; }
set { _songName = value; }
}
//...
//Constructeur
public Song()
{
} |
J'ai aussi créé une classe album, qui contient les propriétés et méthodes liées à un album :
Code:
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
|
private int _albumId = "";
private string _albumName = "";
private Song[] _albumSongs;
//...
public int ID
{
get { return _albumId ; }
set { _albumId = value; }
}
public string Name
{
get { return _albumName ; }
set { _albumName = value; }
}
public Song[] Songs
{
get { return _albumSongs; }
set { _albumSongs= value; }
}
//...
//Constructeur
public Album()
{
}
public Album(int aId,string name)
{
this.ID=aId;
this.Name=name;
GetSongs();
}
public void GetSongs()
{
//Ici :
//Requête qui ramène toutes les chansons de l'album dont l'id est : aId
//Je mets le résultat de la requête dans une Hashtable lstSongs
for (int i=0;i<lstSongs.Count;i=i+2)
{
this.Songs[i] = new Song();
this.Songs[i].ID = lstSongs[i];
this.Songs[i].Name = lstSongs[i +1];
}
} |
Mais je me fais jeter sur la ligne :
Code:
1 2
|
this.Songs[i] = new Song(); |
Avec une erreur du type "La référence d'objet n'est pas définie à une instance d'objet."
Voilà donc le problème.
Je souhaite avoir un constructeur, qui à partir de l'ID de l'album, me charge dans mon objet Album la liste des chansons.
Encore une fois, je ne suis pas à la recherche de la solution pour constituer un outil de gestion de CDThèque idéal, je me sers simplement de cet exemple pour combler mes -grosses!- lacunes en conception objet. Ce qui m'intéresse donc ici, c'est comment faire pour renseigner une "collection" avec des objets en somme...
Merci d'avance pour tout conseil.