Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Exercice 2 (4 pts)
Soit le code Java suivant :
public interface I {
static int j = 8;
int m() ;}
Question Bonus (1 pt) : Réaliser l'interface I dans la version 8 de Java. (Répondre au verso de la page)
a) Le code de l'interface change et devient :
public interface I {
static int j = 8;
default int m() { return j+2;}}
b) On supprime la méthode m() des deux classes B et D.
Faculté NTIC (Université A. Mehri) Niveau : 2ème année LMD
Module : Programmation Orientée Objet Année Universitaire 2016-2017
Exercice 2 (4 pts)
Soit le code Java suivant :
public interface I {
static int j = 2;
int m() ;}
A/
Une entreprise veut informatiser la production des chanteurs. Un chanteur produit des œuvres : Chanson
et Disque (CD). Un disque est composé de chansons.
Chaque œuvre est caractérisée par une capacité de stockage exprimée en nombre de secondes (capacité :
int), l'année d'édition (année : int) et un genre. Le genre d'une chanson (genre : String) peut être par
exemple : jaz, rai, etc. et le genre d'un disque est la liste des genres des chansons qu'il contient (pas de
genre en double).
Une chanson a en plus le nom du chanteur (nomChanteur : String).
Un disque a en plus un titre (titre : String) et une liste de chansons (liste : de type ArrayList).
La classe Œuvre possède le comportement suivant :
Un constructeur initialisant toutes les variables,
getGenre(): renvoie le genre de l'œuvre.
En plus, un disque a les méthodes suivantes :
getCapacitéLibre() : renvoie la capacité libre sur le disque.
addChanson(Chanson s) : ajoute la chanson s à la fin du disque si sa capacité suffit et renvoie true,
sinon elle renvoie false.
nbChansons() : renvoie le nombre de chansons enregistrées dans le disque.
Questions :
1. Donner le diagramme de classes UML modélisant les œuvres des chanteurs.
2. Écrire en java les différentes classes de cette modélisation.
B/
Les œuvres peuvent être publiées et vendues sur le net à petit prix. Publier une œuvre revient à lui
attribuer un nom de publicité renvoyé par la méthode nomPub(). Le nom de publicité d'une chanson est la
concaténation du nom du chanteur et l'année d'édition. Pour un disque, le nom de publicité est la
concaténation du titre et de l'année d'édition.
Les œuvres publiées peuvent être commercialisées (vendues). Un prix de vente est fixé pour tout type
d'œuvre, La méthode prix() renvoie le prix de l'œuvre.
Questions:
On veut publier toutes les œuvres des chanteurs (chansons et disques) et ne vendre (commercialiser) que
les disques à 60DA l'unité.
1. Représenter un schéma de solution par un diagramme de classes UML.
2. Donner le code Java correspondant. (On ne donne que le code ajouté)
Bon Courage
Corrigé:
Exercice 3 (12 pts)
Faculté NTIC (Université A. Mehri) Niveau : 2ème année LMD
Module : Programmation Orientée Objet Année Universitaire 2016-2017
A/ …………(8,5 pt)
Oeuvre
#capacité: int
#année: int
+getGenre(): String
Disque
Chanson
-titre: String
-genre: String
-nomChanteur: String 0..* +getCapacitéLibre(): int
+addChanson(): boolean
+nbChansons(): int
La classe Chanson
public class Chanson extends Œuvre {
private String genre;
protected String nomChanteur;
La classe Disque
public class Disque extends Œuvre {
private String titre;
private ArrayList <Chanson> liste;
B/
a) …………(3,5 pt)
Oeuvre
#capacité: int
#année: int
+getGenre(): String
Disque
Chanson
-titre: String
-genre: String
-nomChanteur: String 0..* +getCapacitéLibre(): int
+addChanson(): boolean
+nbChansons(): int
<<interface>>
Publiable
+nomPub()
<<interface>>
Commercialisable
+prix(): double