Vous êtes sur la page 1sur 3

Licence SPI’3.

22‐01‐2010

Examen Programmation Java


Exercice 1 : (5 points)
1‐ Citer trois avantages de la programmation par objets.
2‐ Expliquer la différence entre les droits private, public et
protected?
3‐ Citer les différences entre un constructeur et une méthode
usuelle.
4‐ Pourquoi redéfinit‐on souvent la méthode equals() de la classe
Object ?
5‐ Le fait de déclarer un attribut n en tant que publique est‐il
équivalent de le déclarer privé et en permettant de modifier sa
valeur avec un mutateur setN() ? Expliquer.
class Entier
{ private int n ; class Entier
public void setN (int n) { { public int n ;
this.n=n ; //...
} }
//.....
}

Exercice 2 : (4 points)

Ecrivez une classe Livre avec les attributs suivants:

 titre: Le titre du livre,


 auteur: L'auteur du livre,
 prix: Le prix du livre,
 annee: L'année du livre.
La classe Livre doit disposer des constructeurs suivants:
 Livre(),
 Livre(titre, auteur),
 Livre(Livre).
La classe Livre doit contenir des méthodes d’accès et de modification
pour les différents attributs. Elle doit aussi contenir une méthode
equals() pour la comparaison de deux livres et une méthode toString()
pour afficher le contenu de la classe Livre.

Salim BENAYOUNE
Licence SPI’3. 22‐01‐2010

Exercice 3: (3 points)
Soit le code des 3 classes :

public class A { public class B extends A {


public void m() { public void m() {
System.out.println("A"); System.out.println("B");
} }
} }

public class Test {


public static void main(String[] args) {
A a = new B();
a.m();
}
}

Question 1 :
On veut lancer l'exécution de la classe Test.
1‐ Ce code ne compile pas.
2‐ Il affiche « A ».
3‐ Il affiche « B ».
4‐ Il y a une erreur à l'exécution
Justifier votre réponse en indiquant le concept qui vous a permis de
répondre (il est préférable d’utiliser un schéma).
Question 2 :
Idem que la question 1, mais en remplaçant la méthode main par celle‐
ci :
public class Test {
public static void main(String[] args) {
B b = new B();
A a = (A)b;
a.m();
}
}

Exercice 4: (4 points)
Écrire un programme qui affiche (sur la console) un triangle isocèle
formé d’étoiles. La hauteur du triangle (c’est‐à‐dire son nombre de
lignes) sera fournie en donnée, comme dans l’exemple ci‐dessous.

Salim BENAYOUNE
Licence SPI’3. 22‐01‐2010

combien de lignes ? 8
*
***
*****
*******
*********
***********
*************
***************

On s’arrangera pour que la dernière ligne du triangle s’affiche sur le bord


gauche de l’écran.

Exercice 5 : (4 points)
Écrire un programme qui crée une fenêtre (de type JFrame) et qui
détecte les événements "appui" (mousePressed) et "relâchement"
(mouseReleased) associés à la souris et ayant la fenêtre comme source.
On se contentera de signaler chacun de ces deux événements en
affichant en fenêtre console un message précisant sa nature (appui ou
relâchement), ainsi que les coordonnées correspondantes. On proposera
trois solutions :

1. la fenêtre est son propre écouteur de souris et elle implémente


l’interface MouseListener,

2. on utilise un écouteur différent de la fenêtre, objet d’une classe


implémentant l’interface MouseListener,

3. on utilise un objet écouteur différent de la fenêtre en recourant à


l’adaptateur MouseAdapter.

Salim BENAYOUNE

Vous aimerez peut-être aussi