bonjour tous, voilà j'ai mon problème. Je dois compléter un code source qui doit gérer une bibliothèque. En fait, le code comprend 4 classes et une main. Je dois compléter la classe Ouvrage de cette manière:

"Comme il n’est pas une bonne idée d’accéder directement aux variables d’instance d’une classe, votre
premi`ere tache est d’implémenter les accesseurs de la classe Ouvrage (représentant les ouvrages contenus
dans une bibliothèque), c’est-a-dire les méthodes qui permettent de renvoyer les valeurs contenues dans ces variables. Les signatures de ces accesseurs seront prévues dans la classe mais avec une implémentation
“vide” (afin de pouvoir compiler le code). A vous de les impl´ementer correctement.
Une fois que vous avez implémenté
ces accesseurs, vous devrez implémenter les méthode affiche() sur
la classe Ouvrage et la méthode afficheOuvrages() sur la classe Bibliothecaire qui permettent d’afficher
les données d’un ouvrage ou, respectivement, les données de tous les ouvrages se trouvant dans une bibliothèque gérée par un bibliothécaire."

voilà en fait je comprend pas bien le mot accesseur. Voici le code de la class Ouvrage


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
package bisc8;
 
 
 
 
 
 
 
 
 
 
 
import java.io.PrintStream;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
 
/**
 * Cette classe représente un ouvrage, dont la bibliothèque peut posséder
 * plusieurs exemplaires. La différence entre un ouvrage et un exemplaire
 * est parfois utile, par exemple si un utilisateur veut réserver un livre :
 * il réservera un ouvrage et pas un exemplaire; pour l'utilisateur,
 * n'importe quel exemplaire d'un ouvrage conviendra.
 */
public class Ouvrage {
 
	// liste de tous les exemplaires correspondant à un ouvrage
	private List exemplaires = new LinkedList();
 
	// Données d'ouvrage
	private List auteurs = new LinkedList();
	private String titre;
	private String date;
	private String serie;
	private String nombrePages;
	private String reference;
	private String editeur;
	private String descriptionComplete;
 
	/**
         * @return la référence, c'est-à-dire l'identificateur univoque 
         * de l'ouvrage.
         */
	public String reference() {
		return reference;
	}
 
	/**
         * Change la reference de l'ouvrage.
         * 
         * @param ref la nouvelle reference de l'ouvrage.
         */
	public void changerReference(String ref) {
		this.reference = ref;
	}
 
	/**
         * @return la série de l'ouvrage.
         */
	public String serie() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "serie");
		return null;
	}
 
	/**
         * Change la série de l'ouvrage.
         * 
         * @param serie la nouvelle série de l'ouvrage.
         */
	public void changerSerie(String serie) {
		this.serie = serie;
	}
 
	/**
         * @return l'éditeur de l'ouvrage.
         */
	public String editeur() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "editeur");
		return null;
	}
 
	/**
         * Change l'éditeur de l'ouvrage.
         * 
         * @param editeur le nouvel éditeur de l'ouvrage.
         */
	public void changerEditeur(String editeur) {
		this.editeur = editeur;
	}
 
	/**
         * @return un itérateur sur l'ensemble de tous les auteurs de l'ouvrage.
         */
	public Iterator auteurs() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "auteurs");
		return null;
	}
 
	/**
         * Ajoute un auteur à l'ouvrage.
         * 
         * @param nom le nom de l'auteur à ajouter.
         */
	public void ajouterAuteur(String nom) {
		auteurs.add(nom);
	}
 
	/**
         * @return le titre de l'ouvrage.
         */
	public String titre() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "titre");
		return null;
	}
 
	/**
         * Change le titre de l'ouvrage.
         * 
         * @param titre le nouveau titre de l'ouvrage.
         */
	public void changerTitre(String titre) {
		this.titre = titre;
	}
 
	/**
         * @return la date de publication de l'ouvrage.
         */
	public String datePublication() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "datePublication");
		return null;
	}
 
	/**
         * Change la date de publication de l'ouvrage.
         * 
         * @param la nouvelle date de publication de l'ouvrage.
         */
	public void changerDatePub(String date) {
		this.date = date;
	}
 
	/**
         * @return le nombre de pages de l'ouvrage
         */
	public String nombrePages() {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "nombrePages");
		return null;
	}
 
	/**
         * Change le nombre de pages de l'ouvrage.
         * 
         * @param le nouveau nombre de pages de l'ouvrage.
         */
	public void changerNombrePages(String nombrePages) {
		this.nombrePages = nombrePages;
	}
 
	/**
         * Compare une instance d'Ouvrage avec un autre objet donné
         * et retourne vrai si le objet est un Ouvrage avec la même
         * reference.
         * 
         * @see méthode Ouvrage.reference()
         */
	public boolean equals(Object obj) {
		return
			obj != null &&
			obj instanceof Ouvrage &&
			this.reference() != null &&
			this.reference().equals(((Ouvrage)obj).reference());
	}
 
	/**
         * Quand on réecrit la méthode Object.equals(), il faut réecrire
         * Object.hashCode() pour respecter le contrait entre ces deux méthodes.
         * 
         * @see méthode Object.hashCode() 
         */
	public int hashCode() {
		return (null == reference() ? 0 : reference().hashCode());
	}
 
	/**
         * Affiche une répresentation texte de l'ouvrage.
         * 
         * @param le canal de sortie où la répresentation sera affichée
         *   (p.e. System.out)
         */
	public void affiche(PrintStream out) {
		// méthode à implémenter (phase 1)
		Main.erreur(this, "affiche");
	}
 
	/**
         * Ajoute des nouveaux exemplaires à l'ouvrage.
         * 
         * @param quantité quantité d'exemplaires à ajouter.
         */
	public void ajouterExemplaires(int quantite) {
		for(; quantite > 0; quantite--)
			exemplaires.add(new Exemplaire(this));
	}
 
	/**
         * Encode une réservation pour le client passé en paramètre.
         * Si le client possède déjà une réserve, la méthode ne fait rien et renvoie
         * vrai.
         * Si un autre client a déjà réservé l'ouvrage, le client donné ne peut
         * pas faire une réserve, et la méthode renvoie faux.
         * On peut réserver un ouvrage seulement s'il n'y a plus d'exemplaires
         * disponibles.
         * 
         * @return Vrai si la méthode réussit a placer une réserve pour le client, ou
         * si le client possédait déjà une réserve. Sinon, faux. 
         */
	public boolean reservePour(Emprunteur client) {
		// méthode à implémenter (phase 3)
		Main.erreur(this, "reservePour");
		return false;
	}
 
	/**
         * @return un itérateur sur l'ensemble de tous les exemplaires de cet ouvrage.
         */
	public Iterator exemplaires() {
		return exemplaires.iterator();
	}
 
	/**
         * @return le nombre d'exemplaires de cet ouvrage.
         */
	public int nombreExemplaires() {
		return exemplaires.size();
	}
 
	/**
         * @return un itérateur sur l'ensemble de tous les exemplaires non empruntés à ce moment.
         */
	public Iterator exemplairesDisponibles() {
		// méthode à implémenter (phase 2)
		Main.erreur(this, "exemplairesDisponibles");
		return null;
	}
 
	/**
         * Renvoie un exemplaire pour que le client donnée l'emprunte, tenant
         * compte des réservations placées sur cet ouvrage.
         *
         * S'il n'y a pas des exemplaires disponibles, la méthode renvoie null. Ceci
         * inclut le cas où il y a des exemplaires mais il y a une réservation pour
         * un autre client.
         * 
         * Si le client possède une réservation, il est possible de lui donner un
         * exemplaire disponible, et la réservation sur l'ouvrage est retiré.
         * 
         * Si l'ouvrage n'a pas de réservation à ce moment, la méthode renvoie un
         * exemplaire disponible quelconque.
         * 
         * @return Un exemplaire à emprunter par le client passé en parametre, ou null
         * s'il n'y a pas aucun exemplaire disponible pour ce client à ce moment.
         * 
         * @see Ouvrage.reservePour()
         */
	public Exemplaire exemplairePour(Emprunteur client) {
		// méthode à implémenter (phase 2 + 3)
		Main.erreur(this, "exemplairePour");
		return null;
	}
 
	/**
         * @return un itérateur sur l'ensemble de tous les exemplaires empruntés à ce moment.
         */
	public Iterator exemplairesEmpruntes() {
		// méthode à implémenter (phase 2)
		Main.erreur(this, "exemplairesEmpruntes");
		return null;
	}
}
en fait ce qui m'intéresse moi visiblement c'est les "implémenter phase1 "

si vous avez une idée merci de m'aider