Professional Documents
Culture Documents
Atribut ArrayList en Una Classe
Atribut ArrayList en Una Classe
Atribut ArrayList en Una Classe
Fins ara heu posat com a atribut d’una classe tipus de dades com String, int, etc i també de tipis de classe,
per exemple en l’exercici de l’hotel teníem com a atributs de Reserva els tipus Cliente i el tipus Habitación
public class Reserva {
private Cliente _cliente;
private Habitacion _habitacion;
La idea d’aquest exemple és que tenim una classe Audio.java, en aquesta classe tenim els atributs sobre la
informació d’un fitxer de tipus àudio.
public class Audio {
private String titol;
private String autor;
private int qualitat; // Qualitat audio (kbps)
private long temps; // temps en segons
Un CD té un títol i té un conjunt de cançons, com ja sabeu un CD té n cançons, uns CDs en tenen més que
d’altres, per tant, Com emmagatzemem les cançons o àudios dins d’una classe CD?, doncs en un ArrayList.
public class CD {
private String titol;
private ArrayList<Audio> audioList;
Per tant quan s’executi el constructor s’ha de crear l’ArrayList, tal i com es mostra a continuació
public CD(String titol) {
this.titol = titol;
audioList = new ArrayList<Audio>(25);
}
1
Ara bé, Com afegirem l’àudio dins de l’ArrayList de la classe CD?
Recordeu que audioList és un atribut de tipus ArrayList, per tant podem fer servir el mètode add de
l’ArrayList.
Primer fem una instància de la classe CD.java i l’hi posem un títol. Recordeu que en el constructor de la classe
CD es crea l’ArrayList, de moment es crea buit, sense objectes dins.
cd = new CD("Just One Night");
Desprès creem una instància de la classe Audio.java i li posem els valors que corresponen al títol, autor,
qualitat i temps de duració.
audio = new Audio("Tulsa Time", "Eric Clapton", 320, 300);
Aquesta operació la fem servir tantes vegades com sigui necessari, és dir per a cada àudio que volem posar
dins d’un CD. (mireu l’exemple a appReproductorBasic.java)
Ara volem crear un Àlbum de CDs, podem entendre un Àlbum com una col·lecció de CDs que volem agrupar,
per exemple per Autor, per gènere de música, etc.
2
Si us fixeu he creat un atribut que és de tipus ArrayList per a emmagatzemar-hi objectes de tipus CD.
i per afegir objectes de tipus CD dins de l’ArrayList de la classe AlbumCD, doncs he creat el mètode afegirCD
public void afegirCD(CD cd) {
this.cdList.add(cd);
}
ara posem el CD que hem creat abans, dins de l’ArrayList de la classe AlbumCD
albumCD.afegirCD(cd);
Podeu observar que he creat 8 àudios, que estan repartits en dos CDs, i aquests dos CDs estan en un àlbum.